集合框架(二)
java.util.Arrays
一、构造方法
private Arrays(){}
//因此无法产生实例,只是用来处理array对象的工具类
二、常用方法
-
填充数组:Arrays.fill(arrObj,val); //Arrays类中多次重载该方法,对应不同型别的参数
-
比较两个数组对象是否相等:Arrays.equals(Object[] arr_1,Object[] arr_2);//其他重载方法读源码或查帮助文档
-
数组的排序:Arrays.sort(int[]);//只要实现了Comparable或拥有Comparator,便可对Object array进行排序
-
数组元素的查找:Arrays.binarySearch(int[] arr,int key);//int型的查找采用的算法是"二分法",因此需要先排序,再查找;比for循环稍微快点,其他重载方法详看源码或帮助文档
三、array的复制(浅拷贝)
-
java.lang.System类的arraycopy()方法 //比起"使用for循环执行复制",该方法具有更快速的array复制能力
-
Arrays.copyOf(T[],int);//源码中是通过上面的arraycopy()方法实现的
四、数组元素的比较
-
java.lang.Comparable接口:又称自然比较法,实现compareTo()方法即可使class(类)具有比较能力,直接使用Arrays.sort(Object obj)即可对元素排序
-
java.util.Comparator接口:需要单独建立一个类,使用Arrays.sort(T[] arr,Comparator<? super T> c),参数c为该类创建的对象
五、总结
当你持一大群对象时,首选应该是array。然而大多数情况,array并不能满足需求(如对象数量不定时)。在集合框架中,java提供了一套容器类库,包括List、Set、Map等。java容器会自动调整自己的容量,和array不同。
All rights reserved please indicate the source if reprint---吓尿了的大肥鼠