一、概念
二、常用方法
1.Collection和Collections的区别
Collection:是创建集合的接口,Collections是一个操作Collection工具类
2.常用方法
点击查看代码
@Test
public void test(){
ArrayList list = new ArrayList();
list.add(23);
list.add(32);
list.add(-23);
list.add(54);
list.add(32);
list.add(0);
System.out.println(list);
//reverse(list):反转list中元素的顺序
Collections.reverse(list);
System.out.println(list);
System.out.println("=====================");
//shuffle(list):对list集合元素进行随机排序,每运行一次就会出现不通过结果
Collections.shuffle(list);
System.out.println(list);
System.out.println("=====================");
//sort(list,Comparator):根据指定的Comparator产生的顺序对list集合元素进行排序
Collections.sort(list);
System.out.println(list);
System.out.println("=====================");
//swap(list,int i,int j):交换list元素中i处和j处的元素
Collections.swap(list,1,3);
System.out.println(list);
System.out.println("=====================");
//int frequency(Collection,Object):返回集合中指定元素出现的次数
System.out.println(Collections.frequency(list, 32));
System.out.println("=====================");
//void copy(list dest ,list src):将src中的内容复制到dest中
//错误示范:
// ArrayList list1 = new ArrayList();
// list1.add(1);
// list1.add(3);
// list1.add(2);
//这里会报IndexOutOfBoundsException: Source does not fit in dest异常
//查看copy源码即可知道,当dest的数组元素的个数没有src中的多时就会报上面的异常
// Collections.copy(list1,list);
//正确的:
List list1 = Arrays.asList(new Object[list.size()]);
Collections.copy(list1,list);
System.out.println(list1);
System.out.println("=====================");
/*
Collection类中提供了多个synchronizedXxx()方法,
该方法可使指定集合包装成线程同步的集合,从而可以解决
多线程并发访问结合时的线程安全问题
*/
//返回的list2即为线程安全的
List list2 = Collections.synchronizedList(list);
}
运行结果图: