深入了解 java.util.Arrays 的使用技巧
java.util.Arrays
类包含了很多用于数组的方法,学会了这些方法,可以大大提高我们的开发效率。本篇攻略将深入了解 java.util.Arrays
的使用技巧。
基本方法
arraysEquals
arraysEquals
方法用于比较两个数组是否相等,即数组中的元素是否相等,而不仅是比较数组引用是否相同。示例如下:
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
if (Arrays.equals(arr1, arr2)) {
System.out.println("arr1 is equal to arr2");
} else {
System.out.println("arr1 is not equal to arr2");
}
fill
fill
方法用于将数组中的元素全部填充为指定值。示例如下:
int[] arr = new int[5];
Arrays.fill(arr, 0);
System.out.println(Arrays.toString(arr)); // [0, 0, 0, 0, 0]
排序
sort
sort
方法用于对数组进行排序,可以用于对基本类型数组排序,也可以用于对对象数组排序。示例如下:
对基本类型数组排序
int[] arr = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
对对象数组排序
如果需要对对象数组排序,需要实现 Comparable
接口并重写 compareTo
方法。
class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int compareTo(Person o) {
return Integer.compare(this.age, o.age);
}
public String toString() {
return this.name + " " + this.age;
}
}
public static void main(String[] args) {
Person[] personArray = new Person[] {
new Person("Alice", 30),
new Person("Bob", 20),
new Person("Charlie", 40)
};
Arrays.sort(personArray);
System.out.println(Arrays.toString(personArray)); // [Bob 20, Alice 30, Charlie 40]
}
查找
binarySearch
binarySearch
方法用于在有序数组中查找指定元素。使用这个方法需要保证数组已经有序。如果找到了元素,返回元素下标;否则返回一个负数,表示要查找的元素应该插入到数组中的哪个位置。示例如下:
int[] arr = {1, 3, 6, 8, 10};
int index = Arrays.binarySearch(arr, 6);
System.out.println(index); // 2
拷贝
copyOf
copyOf
方法用于拷贝数组的一部分。示例如下:
int[] arr = {1, 2, 3, 4, 5};
int[] newArr = Arrays.copyOf(arr, 3);
System.out.println(Arrays.toString(newArr)); // [1, 2, 3]
总结
以上就是 java.util.Arrays
类的基本使用方法。掌握这些方法可以提高我们的开发效率,减少编程错误。当然,java.util.Arrays
还有很多其它有用的方法,读者可以自行了解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深入了解java.util.Arrays的使用技巧 - Python技术站