Collections工具类
Collections是一个操作Collection集合和Map集合的工具类
- Collections不仅仅是操作Collection集合,还可以操作Map集合
Collection和Collections有什么区别?
- Collection是一个接口,而Collections是一个类
Collections集合中有很多的操作Collection集合和Map集合的方法,并且这些操作集合的方法都是一些静态方法,我们直接使用类名去调用就可以
在Collection工具类中有如下常用的方法:
-
reverse(List list);
- 反转list集合中的元素
-
shuffle(List list);
- 对list集合元素进行随机排序
-
sort(List list);
- 根据元素的自然排序对指定的List集合元素按升序排序
-
sort(List list , Comparator comparator);
- 根据指定的Comparator类中指定的排序方法进行排序
-
Object max(Collection collection);
- 根据集合中存储的元素所在类中重写的compare()方法进行排序,也就是根据自然排序进行排序出的结果选出最大值
-
Object max(Collection collection , Comparator Comparator);
- 根据定制排序选取出集合中的最大值
-
Object min(Collection collection);
- 根据元素的自然排序选出参数集合中的最小值
-
Object min(Collection collection);
- 根据元素的定制排序选出参数集合中的最小值
-
swap(List list , int x , int y);
- 将参数集合中的第x个索引位置处的元素和第y个索引位置处的元素进行交换位置
-
int frequency(Collection collection , Object object);
- 返回指定的集合中的object元素出现的个数
-
void copy(List dest , List src);
- 将src中的内容复制到dest集合中来
- 我们在使用这个方法时可能会出现一些问题,可能会出现角标越界异常,关于如何避免这个异常我们会在后面Collections工具类中的常用方法句具体去讲
-
boolean replaceAll(List list , Object oldval , Object newval);
- 使用新值替换所有的list对象中的旧值
-
synchronizedXxx();
-
这个方法是一个同步控制方法,我们使用对应的集合的这个方法就可以将我们的参数集合转换为一个线程同步的集合
-
eg:
List list = new ArrayList(); /* 这里我们就调用了Collections工具类中的synchronizedXxx()方法,这个方法后返回一个线程安全的list对象 */ List list = Collections.synchronized(list);
-