一、Collections 工具类

作用:操作 colleaction 和 Map 的工具类

二、常用方法

方法描述
reverse(List)反转 List 中元素的顺序
shuffle(List)对 List 集合元素进行随机排序
sort(List)根据元素的自然顺序对指定 List 集合元素升序排序
sort(List,Comparator)根据指定的 Comparator 产生的顺序对 List 集合元素进行排序
swap(List,int, int)将指定 list 集合中的 i 处元素和 j 处元素进行交换
Object max(Collection)根据元素的自然顺序,返回给定集合中的最大元素
Object max(Collection,Comparator)根据 Comparator 指定的顺序,返回给定集合中的最大元素
Object min(Collection)根据元素的自然顺序,返回给定集合中的最小元素
Object min(Collection,Comparator)根据 Comparator 指定的顺序,返回给定集合中的最小元素
int frequency(Collection,Object)返回指定集合中指定元素的出现次数
void copy(List dest,List src)将 src 中的内容复制到 dest 中
boolean replaceAll(List list,Object oldVal,Object newVal)使用新值替换 List 对象的所旧值

注:copy 特别注意

1
2
3
4
5
6
7
8
9
10
11
12
@Test
public void test1(){
List list = new ArrayList();
list.add(123);
list.add(43);
list.add(765);
list.add(-97);
list.add(0);
List list1 = Arrays.asList(new Object[list.size()]);
Collections.copy(list1,list);
System.out.println(list1);
}

image-20200723170621050

说明: ArrayList 和 HashMap 都是线程不安全的,如果程序要求线程安全,我们可以将 ArrayList、HashMap 转换为线程的。

使用: sysnchronizedList(List list)sysnchronizedMap(Map map)

1
2
3
//返回的list1即为线程安全的List
List list = new ArrayList();
List list1 = Collections.synchronizedList(list);