Arrays.asList()
利用Arrays工具类中的Arrays.asList()方法,根据给定元素快速创建List:
List<String> list = Arrays.asList("杭州","北京","上海","南京");
Arrays.binarySearch()
利用Arrays工具类中的Arrays.binarySearch()方法,进行查找:
public class Main{
public static void main(String[] args){
int[] array={28,12,89,73,65,18,96,50,8,36};
int target=36;//目标元素
//先排序
Arrays.sort(array);
//再查找
int index=Arrays.binarySearch(array,target);
System.out.printf("目标值%d在数组中的下标为:%d",target,index);
}
}
注意:
由于该方法是基于二分查找实现,数组必须处于有序状态。所以,需要先对数组进行排序,然后再通过Arrays.binarySearch()进行查找。
Arrays.sort()
利用Arrays工具类中的Arrays.sort()方法,进行排序:
public class Main{
public static void main(String[] args){
int[] ns ={28,12,89,73,65,18,96,50,8,36};
//排序前
System.out.println("排序前:"+Arrays.toString(ns));
//排序
Arrays.sort(ns);
//排序后
System.out.println("排序后:"+Arrays.toString(ns));
}
}
注意:
对数组排序实际上是修改了数组本身
例如:排序前的数组是:
int[] ns= { 9, 3 , 6, 5 };
在内存中,这个整型数组表示如下:
当我们调用Arrays.sort(ns)后,这个整型数组在内存中变为:变量ns指向的数组内容已经被改变了。
Arrays.copyOf()与Arrays.copyOfRange()
利用Arrays工具类中的Arrays.copyOf()与Arrays.copyOfRange()方法,进行复制:
public class Main {
public static void main(String[] args) {
//数组的复制
int[] numbers1= {1,2,3,4,5,6,7,8};
int[] target1= new int[numbers1.length];
通过Arrays工具类的copyOf()/copyOfRange()
System.out.println("方法2");
int[] num= {1,3,5,7,9,11,13,15,17,19};
//复制num的前4个元素:从下标0开始,复制前4个元素
int[] arr1=Arrays.copyOf(num, 4);
//复制num的所有元素
int[] arr2=Arrays.copyOf(num, num.length);
//复制num中下标2元素到下标6前的元素
int[] arr3=Arrays.copyOfRange(num, 2, 6);
//扩容数组,下标不会造成越界
int[] arr4=Arrays.copyOfRange(num, 2, 13;
//输出
System.out.println(Arrays.toString(arr1)); //[1, 3, 5, 7]
System.out.println(Arrays.toString(arr2)); //[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
System.out.println(Arrays.toString(arr3)); //[5, 7, 9, 11]
System.out.println(Arrays.toString(arr4)); //[5, 7, 9, 11, 13, 15, 17, 19, 0, 0, 0]
}
}
注意:
Arrays.copyOfRange()方法可以扩容数组并且下标不会造成越界。
Arrays.fill()
利用Arrays工具类中的Arrays.fill()方法,根据给定元素快速填充数组:
public class Main{
public static void main(String[] args){
int[] arr1=new int[8];
int[] arr2=new int[8];
//填充
//方式1
for (int i = 0; i < arr1.length; i++) {
arr1[i]=-1;
}
System.out.println(Arrays.toString(arr1));//[-1, -1, -1, -1, -1, -1, -1, -1]
//方式2
Arrays.fill(arr2, -2);
System.out.println(Arrays.toString(arr2));//[-2, -2, -2, -2, -2, -2, -2, -2]
}
}
以上是我个人对Java中Arrays工具类常用方法的一些总结,如有错漏请务必联系,非常感谢