Arrays.fill()相关用法
int arr[] = new int[5];
//所有元素赋值为5
Arrays.fill(arr,5);
//从索引[1,3)赋值为1
Arrays.fill(arr,1,3,1);
//从索引[2,4)赋值为2
Arrays.fill(arr,2,4,2);
Arrays.toString()
//将数组元素放入字符串中,可以方便快速打印数组元素
//底层实现
//使用StringBuilder拼接字符串
StringBuilder b = new StringBuilder();
//在开头加[
b.append('[');
//遍历数组拼接元素
for (int i = 0; ; i++) {
b.append(String.valueOf(a[i]));
if (i == iMax)
//末尾拼接]并转为String类型
return b.append(']').toString();
b.append(", ");
}
Arrays.sort()
//排序,默认为升序排序
//[3, 3, 5, 2, 2]
Arrays.sort(arr2);
//打印结果:[2, 2, 3, 3, 5]
System.out.println(Arrays.toString(arr2));
//倒序排序,Collections.reverseOrder()返回一个比较器
Arrays.sort(arr2, Collections.reverseOrder());
Arrays.equals()
//比较两个数组中元素是否相等
//相同:true,不同:false
System.out.println(Arrays.equals(arr1,arr2));
Arrays.binarySearch()
//二分查找元素是否存在数组
int arr4[] = {1,3,3,3,3};
//返回二分查找第一次匹配到元素的索引值,不保证返回的是第一个出现的位置,如果不存在则返回实际插入索引+1的负数
//2
System.out.println(Arrays.binarySearch(arr4,3));
//-6
System.out.println(Arrays.binarySearch(arr4,10));
//数组区间查找,[0,3),返回第一次命中的下表
System.out.println(Arrays.binarySearch(arr4,0,3,3));
Arrays.copyOf()和Arrays.copyOfRange()
int arr5[] = {1,2,3,4,5};
//拷贝前三个元素[1,2,3]
int[] arr6 = Arrays.copyOf(arr5, 3);
//拷贝下标[2,5):[3,4,5]
int[] arr7 = Arrays.copyOfRange(arr5, 2, 5);
//若超过arr5长度,后面元素补0:[3,4,5,0,0...]
copyOfRange(arr5, 2, 9);
Arrays.asList()
//将对象数组转为list集合,不能是基本类型的数组
Integer arr8[] = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arr8);