操作集合的工具类:Collections
排序操作
Collections提供了如下类方法用于对List集合进行排序:
- void reverse(List list);反转指定List集合中元素的顺序
- void shuffle(List list);对List集合元素进行随机排序,shuffle方法模拟了洗牌动作
- void sort(List list);根据自然顺序对Lsit集合按升序排列
- void sort(List list,Comparator c);类似于定制排序
- void swap(List list ,int i, int j);将List结合中i处元素和j处元素进行交换
- void rotate(List list,int distance);当distance为正数时,将list集合的后distance元素整体移动到前面;当distance为负数时,将List集合前distance元素整体移动到后面
ArrayList nums = new ArrayList();
//添加元素
......
Collections.reverse(nums);
查找替换操作
Collections还提供了如下查找,替换该集合元素的类方法:
- int binarySearch(List list,Object key);
- Object max(Collection coll);
- Object max(Collection coll,Comparator comp);
- Object min(Collection coll);
- Object min(Collection coll,Comparator comp);
- void fill(List list ,Object obj);//使用指定obj替换list的所有元素
- int frequency(Collection c,Object o);//返回指定集合中指定元素的出现次数
- int indexOfSubList(List source,List target);返回子List在父list中第一次出现的索引,如果父List没有出现这样的子list,则返回-1
- int lastIndexOfSubList(List source,List target);返回子List在父list中最后一次出现的索引,如果父List没有出现这样的子list,则返回-1;
- boolean replaceAll(List list,Object oldVal,Object newVal);使用newVal替换list所有旧值oldVal
同步控制
Collections类提供了多个synchronizedXxx()方法,该方法可以将指定集合包装成线程同步的集合,从而解决多线程并发访问集合时的线程安全问题。
//下面程序创建了4个安全的集合对象
Collection c = Collections.synchronizedCollection(new ArrayList());
List list = Collections.synchronizedList(new ArrayList());
Set s = Collections.synchronizedSet(new HashSet());
Map m = Collections.synchronizedMap(new HashMap());
设置不可变集合
Collections提供了如下三类方法来返回不可变集合:
- emptyXxx();返回一个空的,不可变的集合对象
- singletonXxx();返回一个只包含指定对象的,不可变的集合对象,此处的集合既可以时List,也可以是Map
- unmodifiableXxx();返回指定对象的不可变视图
上述的三类方法返回值是该集合的只读版本。
来源:CSDN
作者:小乌龟要出头
链接:https://blog.csdn.net/weixin_37613476/article/details/104448350