java util arrays 工具类简介

来源:互联网 发布:船舶钢材用量计算法 编辑:程序博客网 时间:2024/04/27 22:13

Arrays:数组工具类,用来操作数组 
①主要方法:    
1)sort(T[] arr):数组进行自然排序    
2)public static <T> void sort(T[] a,Comparator</a><? super T> c):数组进行自定义排序    
3)public static <T> List<T> asList(T... a):把数组转化为list集合
②:部分代码:

public static void main(String[] args) {// TODO Auto-generated method stub/*java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:  给数组赋值:通过fill方法。 对数组排序:通过sort方法,按升序。 比较数组:通过equals方法比较数组中元素值是否相等。查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。 */int arrInt[] = new int[10];//填充数组System.out.println("填充数组,3");Arrays.fill(arrInt, 3);output(arrInt);//将数组的第2和第3个元素赋值为8System.out.println("将数组的第2和第3个元素赋值为8");Arrays.fill(arrInt, 2, 4, 8);output(arrInt);//对数组的第2个到第6个进行排序进行排序System.out.println("对数组的第2个到第6个进行排序进行排序");Arrays.sort(arrInt,2,7);output(arrInt);//对整个数组进行排序System.out.println("对整个数组进行排序");Arrays.sort(arrInt);output(arrInt);int array1[] = new int[]{1,3,3,4,6,5,7,8,9,0,11,12};int array2[] = new int[]{1,2,3};//比较数组元素是否相等(如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。此外,如果两个数组引用都为 null,则认为它们是相等的。)System.out.println("比较数组元素是否相等:Arrays.equals(array1, array2):"+"\n"+Arrays.equals(array1, array2));    array2 = array1.clone();System.out.println("克隆后数组元素是否相等:Arrays.equals(array1, array2):"+"\n"+Arrays.equals(array1, array2));//使用二分搜索算法查找指定元素所在的下标(必须是排序好的,否则结果不正确,如果数组包含多个等于指定对象的元素,则无法保证找到的是哪一个。 )Arrays.sort(array1);output(array1);System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"+"\n"+Arrays.binarySearch(array1, 3));//如果不存在就返回负数System.out.println("元素9在arrInt中的位置:Arrays.binarySearch(arrInt, 9):"+"\n"+Arrays.binarySearch(arrInt, 9));//转化为字符串System.out.println("转化为字符串");String str = Arrays.toString(array1);System.out.println(str);Dog arrDog[] = new Dog[4];arrDog[0] = new Dog(3);arrDog[1] = new Dog(1);arrDog[2] = new Dog(0);arrDog[3] = new Dog(2);for(int i=0 ;i<arrDog.length;i++){System.out.print(arrDog[i]+"\t");}System.out.println();//按照自定义的比较器进行数组的排序System.out.println("按照自定义的比较器进行数组的排序");Arrays.sort(arrDog,new Comparator<Dog>(){ public int compare(Dog dog1,Dog dog2){ int age1 = dog1.getAge(); int age2 = dog2.getAge(); return age2-age1;  }});for(int i=0 ;i<arrDog.length;i++){System.out.print(arrDog[i]+"\t");}}/** *  * @Title: output * @Description: * @param: * @return void  * @user: wangzg * @Date:2014-9-11 * @throws */public static void output(int[] array) {if (array!=null) {for (int i = 0; i < array.length; i++) {System.out.print(array[i]+" ");}}System.out.println();}}class Dog{private int age;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Dog(){}public Dog(int age){this.age = age;}@Overridepublic String toString() {String str = "[age:"+this.age+"]";return str;}








0 0
原创粉丝点击