- Collections工具类的常用方法
-
Collections:操作Collection和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):
-
int frequency(Collection,Object):返回指定集合中指定元素的出现次数
-
void copy(List dest,List src):将src中的内容复制到dest中
-
boolean replaceAll(List list,Object oldVal,Object newVal)
@Test
public void test(){
List list=new ArrayList();
list.add(123);
list.add(456);
list.add(789);
list.add(147);
list.add(258);
list.add(0);
System.out.println(list);//[123, 456, 789, 147, 258, 0]
//reverse(List):反转List中元素的顺序
Collections.reverse(list);
System.out.println(list);//[0, 258, 147, 789, 456, 123]
//shuffle(List):对List集合元素进行随机排序
//Collections.shuffle(list);
//System.out.println(list);//[789, 123, 258, 456, 147, 0]
//sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序
//swap(List,int,int):将指定List集合中的i处元素和j处元素进行交换
Collections.swap(list,1,4);
System.out.println(list);//[0, 456, 147, 789, 258, 123]
}
@Test
public void test2(){
List list=new ArrayList();
list.add(123);
list.add(456);
list.add(789);
list.add(147);
list.add(258);
list.add(0);
//void copy(List dest,List src):将src中的内容复制到dest中
//错误的,报异常:IndexOutOfBoundsException: Source does not fit in dest
// List dest = new ArrayList();
// Collections.copy(dest,list);
List dest=Arrays.asList(new Object[list.size()]);
Collections.copy(dest,list);
System.out.println(dest);//[123, 456, 789, 147, 258, 0]
}
- 线程安全问题
Collections类提供了多个synchronizedXxx()方法,该方法可将指定集合包装成线程同步的集合,从而可以解决多线程并发访问集合时的线程安全问题。
List list =new ArrayList();
List list1 = Collections.synchronizedList(list);//此时返回的list1即为线程安全的List