导包
Arrays类位于java.util包中,所以要想使用Arrays类中的方法首先要进行导包
importjava.util.Arrays;
常见方法的使用
1.Arrays.toString()
用于返回指定数组内容的字符串表示形式
publicclassDemo { publicstaticvoidmain(String[] args) { int[] arr= {1,2,3,4,5,6,7,8,9,10}; //将数组arr中内容转换为字符串Stringstr=Arrays.toString(arr); System.out.println(str); } }
输出结果
2.Arrays.fill()
用于替换数组原元素
publicclassDemo { publicstaticvoidmain(String[] args) { int[] arr=newint[5]; //将1赋值给数组中的每一个元素Arrays.fill(arr,1); System.out.println(Arrays.toString(arr)); } }
输出结果
publicclassDemo { publicstaticvoidmain(String[] args) { int[] arr=newint[5]; //将1赋值给数组中指定元素//从1索引开始到3索引(不包括)处Arrays.fill(arr,1,3,1); //第一个参数是数组,第二个参数是起始索引,第三个参数是结束索引,//第四个参数是指定的值System.out.println(Arrays.toString(arr)); } }
输出结果
3.Arrays.sort()
用于按照数字顺序排列指定的数组(默认升序)
publicclassDemo { publicstaticvoidmain(String[] args) { int[] arr= {13,5,6,8,2}; System.out.println("调用sort方法前:"+Arrays.toString(arr)); //按照升序排序Arrays.sort(arr); System.out.println("调用sort方法后:"+Arrays.toString(arr)); } }
输出结果
注:在进行字符串的排序时,比较的是每个字符的ASCII码值,而不是字符串长度
publicclassDemo { publicstaticvoidmain(String[] args) { String[] strings= {"abc","ad","ac"}; Arrays.sort(strings); System.out.println(Arrays.toString(strings)); } }
输出结果
4. Arrays.equals()
用于比较两个数组内容是否相等,返回类型为Boolean,两数组内容相同返回true,不同返回false
publicclassDemo { publicstaticvoidmain(String[] args) { char[] chars1= {'a','b','c'}; char[] chars2= {'a','b','d'}; booleanisSame=Arrays.equals(chars1,chars2); System.out.println(isSame); } }
5.Arrays.binarySearch()
用于查找数组中的元素,返回值为int
注:数组一定是排好序的,否则会出错
publicclassDemo { publicstaticvoidmain(String[] args) { //数组一定是排好序的int[] arr= {2,4,10,20,33}; //传入两个参数,前一个为要查找的数组,后一个为要查找的元素inta=Arrays.binarySearch(arr,2);//0//找到该元素,则返回该元素的索引//返回值>=0,则说明能找到该元素intb=Arrays.binarySearch(arr,3);//-2//未找到该元素,返回-x//3介于2和4之间,若要将3放入数组中,是该数组的第二个元素,则返回-2intc=Arrays.binarySearch(arr,0,3,20);//-4//在0索引到3(不包括)索引位置查找该元素 } }
6.Arrays.copyOf() 和Arrays.copyOfRange()
用于拷贝数组
Arrays.copyOf()
publicclassDemo { publicstaticvoidmain(String[] args) { int[] arr1= {1,2,3,4,5}; //第一个参数为原数组,第二个参数是拷贝长度,返回值是一个新数组//默认从0索引位置开始拷贝int[] arr2=Arrays.copyOf(arr1,3); System.out.println(Arrays.toString(arr2)); } }
输出结果
Arrays.copyOfRange(int[] original, int from, int to)
publicclassDemo { publicstaticvoidmain(String[] args) { int[] arr1= {1,2,3,4,5}; //第一个参数:原数组,第二个参数:开始拷贝索引,第三个参数:结束拷贝索引(不包括)int[] arr2=Arrays.copyOfRange(arr1,1,3); System.out.println(Arrays.toString(arr2)); } }
输出结果