当前位置: 首页 > news >正文

[Java · 铢积寸累] 数据结构 — 数组类型 - Arrays 工具类详解

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java · 学习手册

基础回顾 🚀: Java · 初窥门径 —— Java API 文档使用说明

在前面的章节中,我们介绍了 Java 中的数组以及针对的数组的各个操作。可是呢,对于数组的增删改查我们当时都是通过算法完成的,还是太吃操作了。有没有更简单的方法呢?

有的,兄弟,有的,Java 提供了一个 Arrays 类,该类中就包含了用来操作数组的各种方法:

0x01:toString() => 打印数组内容

Arrays 类(至于啥是类,我们很快就会接触到)中的 toString() 方法能够打印数组的内容,从 Java 的 API 文档可以看出来,它还是写了不少重载的方法的(笔者没截全)。

以下是该方法的一个使用示例:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5};System.out.println(Arrays.toString(arr));}
}

0x02:sort() => 对数组进行升序排序

Arrays 类中的 sort() 方法则可以帮助我们给数组进行升序排序:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {5, 4, 3, 2, 1};Arrays.sort(arr);System.out.println(Arrays.toString(arr));}
}

0x03:binarySearch() => 对数组进行二分法查找

Arrays 类的 binarySearch() 方法通过二分法来从指定数组中获取指定元素对应的下标(前提是这个数组已经按升序排好序了)。示例代码如下:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};System.out.println(Arrays.binarySearch(arr, 30));}
}

0x04:copyOfRange => 区间复制

Arrays 类的 copyOfRange() 方法可是实现数组的区间复制,看下面这个例子:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};int[] arrs = new int[3];arrs = Arrays.copyOfRange(arr, 1, 3); // 复制 [1, 3) 的位置的值System.out.println(Arrays.toString(arrs));}
}

0x05:equals => 比较数组是否相等

Arrays 类的 equals() 方法用于比较两个数组对象的值是否相等,相等则返回 true,否则返回 false:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};int[] arrs = {10, 20};System.out.println(Arrays.equals(arrs, arr));}
}

0x06:fill => 填充数组

Arrays 中的 fill() 方法能够使用指定值填充满数组,又可以指定填充的范围:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};int[] arrs = {10, 20, 30, 40, 50};Arrays.fill(arr, 10); // 使用 10 填充满 arrArrays.fill(arrs, 1, 3, 20); // 指定将数组的 [1, 3) 填充为 20
​System.out.println(Arrays.toString(arr));System.out.println(Arrays.toString(arrs));}
}

相关文章:

  • 稳定PCDN运营效率
  • 【leetcode100】零钱兑换Ⅱ
  • 物联网赋能玻璃制造业:实现设备智能管理与生产协同
  • Ubuntu 上安装 Conda
  • 安装 Conda 环境
  • csv数据的写入
  • SharpMap与TerraLib:C#与C++开源GIS库
  • 蓝桥杯算法实战分享:C/C++ 题型解析与实战技巧
  • 【“星睿O6”AI PC开发套件评测】GPU矩阵指令算力,GPU带宽和NPU算力测试
  • npm i 出现permission denied
  • AtCoder 第402场初级竞赛 A~E题解
  • JavaScript 渲染内容爬取实践:Puppeteer 进阶技巧
  • Socket
  • 【STL】unordered_map
  • 【速写】多LoRA并行衍生的一些思考
  • Nginx:前后端分离配置(静态资源+反向代理)
  • navicat导入sql文件 所有问题解决方法集合
  • ios开发中xxx.debug.dylib not found
  • day21 | 26暑期实习
  • windows server2019 内网离线安装mysql5.7方式;windows server2019安装软件提示丢失msvcp100.dll问题处理
  • 大众、学术和政治三重框架下的“汉末之变”
  • 纽约大都会博物馆展“萨金特与巴黎”:从艺术生到明星画家
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 魔都眼|买买买,老铺黄金新店开业被挤爆:有人排队5小时
  • 向左繁华都市,向右和美乡村,嘉兴如何打造城乡融合发展样本
  • 杨轶群任莆田市荔城区人民政府副区长