Java集合(四)-工具类:Collections

排序操作

Collections提供了如下方法用于对List集合排序:

  • void reverse(List list):反转顺序
  • void shuffle(List list):随机排序
  • void sort(List list):按升序排序
  • void sort(List list ,Comparator):根据Comparator的顺序指定排序
  • void swap(List list,int i,int j):指定元素之间交换
  • void rotate(List list,int d):当d为正时,将集合后d个元素整体移到前面;为负时,将前d个元素整体移到后面
查找替换

Collections还提供了如下方法用于查找和替换元素:

  • int binarySearch(List list,Object o):二分搜索指定List集合,获得对象的索引,前提是集合是有序的。
  • Object max(Collection c):根据自然排序,返回最大元素
  • Object max(Collection c,Comparator comp):根据指定排序,返回集合中的最大元素
  • Object min(Collection c):根据自然排序,返回最小元素
  • Object min(Collection c,Comparator comp):根据指定排序,返回集合中的最小元素
  • void fill(List list,Object o):使用o替换集合中所有元素
  • int frequency(Collection c,Object o):返回集合中o出现的次数
  • int indexOfSubList(List list,List sublist):返回子List在集合中第一次出现的位置,若没有则返回-1
  • int lastIndexOfSubList(List list,List sublist):返回子List在集合中最后一次出现的位置,若没有则返回-1
  • boolean replaceAll(List list,Object old,Object new):使用一个新元素替换所有指定旧元素
同步控制的线程安全

Collections工具类提供了多个synchronizedXxx()类方法,该方法将指定集合包装成线程同步的集合。在Map集合中,线程不安全的有HashSet,HashMap,TreeMap,TreeSet,ArrayList,ArrayDeque,LinkedList等,现在可以用该方法包装成线程安全的。

Collection c = Collections.synchronizedCollection(new ArrayList());
List a = Collections.synchronizedList(new ArrayList());
Set s = Collections.synchronizedSet(new HashSet());
Map m = Collections.synchronizedMap(new HashMap());

将创建的对象传入synchronizedXxx()方法,会返回线程安全的List,Map,Set集合对象。

设置不可变集合

Collections提供以下三个类方法来返回一个不可变集合:

  • emptyXxx():返回一个空的,不可变的集合对象,此处集合可以是ListSet,Map
  • singletonXxx():返回一个包含指定对象的不可变集合对象,可以是List,Map
  • unmodifiableXxx():返回集合对象的不可变Map,此处集合可以是List,Set,Map

方法的参数为原有的集合对象,返回了一个不可变对象(原有对象的不可变版本)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值