工具类:Collections 、Arrays

  Collections工具类

成员全是static

 

专门对集合进行操作的类。

 

sort方法

Collections.sort( )

可自定义比较器

 

max方法

Collections.sort( )

可自定义比较器

 

binarySearch

二分查找

但凡用到binarySearch方法,都必须是有序的。

 

.       fill

    替换元素值

    List集合中的所有元素替换成指定元素.

    小练习List集合中的所有元素替换成指定元素.

 

.       replaceAll

    将指定元素替换成指定元素值

 

.       reverse

    反转

 

.       reverseOrder(ComparatorC)

    逆向比较器也可将自定义的比较器以参数形式传进去出来的结果为反的.

 

.       synchronized…

    使集合同步

 

.       sawp : 置换两个元素的位置

十一.    shuffle : 随机排列元素的位置

 

 

十二.              Arrays : 用于操作数组的工具类

              里面都是静态方法

              asList : 将数组变成list集合,

              注意:将数组变成集合后,不可以使用集合的增删方法.因为数组的长度是固定的。如果增删了,会发生UnsupportedOperationExecption异常。

              如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素。

              如果数组中的元素都是基本数据类型,那么会该数组作为集合中的元素存在。

              例:

              List<String> list = Arrays.asList(strArr);

              List<Integer>     li   = Arrays.asList(intArr);

             

              集合变数组

              Collection接口中的toArray方法。

    

指定类型的数组到底要定义多长呢?

当指定的类型的数组长度小于了集合的SIZE,那么该方法内部会创建一个新的数组。长度为集合的SIZE.

当指定的类型的数组长度大于了集合的SIZE,就不会新创建数组,而是使用传递进来的数组。所以创建一个刚刚好的数组最优。

String[]  arr = al.toArray(new String[al.size()]);

为什么要将集合变数组?

为了限定对元素的操作,不需要进行增删了。

 


你可能感兴趣的:(工具类:Collections 、Arrays)