集合框架(二)

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不同。
posted @ 2016-07-23 18:09  DeadGhost  阅读(113)  评论(0编辑  收藏  举报