🌟 想系统化学习 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 填充满 arr
Arrays.fill(arrs, 1, 3, 20); // 指定将数组的 [1, 3) 填充为 20
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(arrs));
}
}