java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。静态方法是属于类的,不是属于类的对象。所以可以直接使用类名加方法名进行调用。Arrays作为一个工具类,能很好的操作数组。下面介绍主要使用的几个函数。 1.fill方法 fill方法主要用来填充数组,这里我们举最简单的int类型吧(其它类型的一样) 看Arrays的fill源码 示例代码: Java代码 1. publicstaticvoidmain(String[]args) { 2. inta[]=newint[5]; 3. //fill填充数组 4. Arrays.fill(a,1); 5. for(inti=0;i<5;i++)//输出5个1 6. System.out.println(a); 7. } 填充部分数组源码: 示例: Java代码 1. publicstaticvoidmain(String[]args) { 2. inta[]=newint[5]; 3. //fill填充数组 4. Arrays.fill(a,1,2,1); 5. for(inti=0;i<5;i++)//a[1]=1,其余默认为0 6. System.out.println(a); 7. } 2.sort方法 从方法名看都知道是给数组排序,依然用int类型来说,其它类型一样的。 一样有整个数组排序,如 Java代码 1. publicstaticvoidmain(String[]args) { 2. inta[]={2,4,1,3,7}; 3. 4. Arrays.sort(a); 5. for(inti=0;i<5;i++)//升序 6. System.out.println(a); 7. } 指定数组部分排序: Java代码 1. publicstaticvoidmain(String[]args) { 2. inta[]={2,4,1,3,7}; 3. 4. Arrays.sort(a,1,4);//输出2,1,3,4,7 5. for(inti=0;i<5;i++) 6. System.out.println(a); 7. } 3.equals方法 用于比较两个数组中的元素值是否相等,还是看int类型的数组。看Arrays源码 示例: Java代码 1. publicstaticvoidmain(String[]args) { 2. inta[]={2,4,1,3,7}; 3. inta1[]={2,4,1,5,7}; 4. System.out.println(Arrays.equals(a1,a)); //输出false 5. 6. } 4.binarySearch方法 通过binarySearch方法能对排序好的数组进行二分查找法操作。看源码如下 示例: Java代码 1. publicstaticvoidmain(String[]args) { 2. inta[]={2,4,1,3,7}; 3. 4. Arrays.sort(a);//先排序 5. 6. System.out.println(Arrays.binarySearch(a,4));//二分查找,输出3 7. 8. } 5.copyof方法 复制数组,Arrays的copyOf()方法传回的数组是新的数组对象,所以您改变传回数组中的元素值,也不会影响原来的数组 如: Java代码 1. importjava.util.Arrays; 2. 3. publicclassArrayDemo{ 4. publicstaticvoidmain(String[]args) { 5. int[]arr1 = {1, 2, 3, 4, 5}; 6. int[]arr2 = Arrays.copyOf(arr1, arr1.length); 7. 8. for(inti= 0; i < arr2.length; i++) 9. System.out.print(arr2+ " "); 10. System.out.println(); 11. } 12. }
|