Arrays里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索)
1) toString返回数组的字符串形式 Arrays.toString(arr)
public static void main(String[] args) {
Integer[] integers = {1,23,45};
System.out.println(Arrays.toString(integers));
}
2) sort排序(自然排序和定制排序) lnteger arr[] = {1,-1,7,0,8,9,1};
public static void main(String[] args) {
// Integer[] integers = {1,23,45};
// System.out.println(Arrays.toString(integers));
Integer [] arr = {1,-1,0,3,5,35};
//1.可以直接使用冒泡排序,也可以直接使用Arrays提供的sort方法排序
//2.因为数组是引用类型,所以通过sort排序后,会直接影响到实参arr
//3.sort重载的,也可以通过传入一个接口Comparator 实现定制排序
//4.调用定制排序时,传入两个参数 1 排序的数组arr 2实现了Comparator接口的匿名内部类,要求实现compare方法
//5.体现了接口编程的方式
//定制排序
Arrays.sort(arr, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Integer i1 = (Integer) o1;
Integer i2 = (Integer) o2;
return i1 - i2; // 升序
// return i2 - i1; // 降序
}
});
// Arrays.sort(arr); 默认排序
System.out.println("排序后:"+Arrays.toString(arr));
}
3) binarySearch 通过二分搜索法进行查找,要求必须排好序int index = Arrays.binarySearch(arr, 3);
public static void main(String[] args) {
Integer [] arr = {1,2,3,56,78,455};
// binarySearch 通过二分搜索法进行查找,要求必须排好序
// 如果数组中不存在该元素,就返回 return - (low + 1)
int index = Arrays.binarySearch(arr,56);
System.out.println("index = "+ index);
}
4) copyof数组元素的复制
Integer newArr = Arrays.copyOf(arr, arr.length);
5) fill数组元素的填充
Integer[] num = new Integer[]{9,3.2];
Arrays.fill(num, 99);
//使用99替换num的所有元素
6)equals比较两个数组元素内容是否完全一致
boolean equals = Arrays.equals(arr,arr2);
元素一样返回True,不一样返回False
7) asList将一组值,转换成list
List<lnteger> asList = Arrays.asList(2.3.4,5,6,1);
System.out.println("asList=" +asList);