一、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 特别注意
代码语言:javascript复制@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);
}
说明: ArrayList 和 HashMap 都是线程不安全的,如果程序要求线程安全,我们可以将 ArrayList、HashMap 转换为线程的。
使用: sysnchronizedList(List list) 和 sysnchronizedMap(Map map)
代码语言:javascript复制//返回的list1即为线程安全的List
List list = new ArrayList();
List list1 = Collections.synchronizedList(list);