Collections的工具类常用方法
reverse(List): 反转List中元素的顺序 shuffle(List):对List集合元素进行随机排序 sort(List):根据元素的自然顺序对指定List集合元素按升序排序 sort(List, Comparator):根据指定的Comparator产生的顺序对List集合元素 swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换
1、Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素 2、Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中的最大元素 3、Object min(Collection):根据元素的自然顺序,返回给定集合中的最小元素 4、Object min(Collection, Comparator):根据Comparator指定的顺序返回给定集合中的最小元素 5、int frequency(Collection, Object):返回指定集合中指定元素的出现次数 6、void copy(List dest,List src):将src中的内容复制到dest中 7、boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有值 8、应用案例演示
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* @author 小黄 on 2022/3/14
* @version 1.0
*/
public class Collections_ {
/*
reverse(List): 反转List中元素的顺序
shuffle(List):对List集合元素进行随机排序
sort(List):根据元素的自然顺序对指定List集合元素按升序排序
sort(List, Comparator):根据指定的Comparator产生的顺序对List集合元素
swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换
*/
public static void main(String[] args) {
//创建ArrayList集合,用于测试
List list = new ArrayList();
list.add("tom");
list.add("smith");
list.add("king");
list.add("milan");
list.add("tom");
//reverse(List): 反转List中元素的顺序
Collections.reverse(list);
System.out.println("list="+list);
//shuffle(List):对List集合元素进行随机排序
Collections.shuffle(list);
System.out.println("list="+list);
//sort(List):根据元素的自然顺序对指定List集合元素按升序排序
Collections.sort(list);
System.out.println("自然排序="+list);
//sort(List, Comparator):根据指定的Comparator产生的顺序对List集合元素
Collections.sort(list, new Comparator(){
@Override
public int compare(Object o1, Object o2) {
//可以加入校验代码
return ((String)o1).length() - ((String)o2).length();
}
});
System.out.println("字符串长度排序:"+list);
//swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换
Collections.swap(list,0,1);
System.out.println("交换后的情况"+list);
/*
查找、替换
1、Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
2、Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中的最大元素
3、Object min(Collection):根据元素的自然顺序,返回给定集合中的最小元素
4、Object min(Collection, Comparator):根据Comparator指定的顺序返回给定集合中的最小元素
5、int frequency(Collection, Object):返回指定集合中指定元素的出现次数
6、void copy(List dest,List src):将src中的内容复制到dest中
7、boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有值
8、应用案例演示
*/
//Object max(Collection):根据元素的自然顺序,返回给定集合中的最元素
System.out.println("自然顺序最大元素="+Collections.max(list));
//Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中的最大元素
System.out.println("按指定排序最大的元素"+Collections.max(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String)o1).length() - ((String)o2).length();
}
}));
//Object min(Collection):根据元素的自然顺序,返回给定集合中的最小元素
System.out.println("自然顺序最小元素="+Collections.max(list));
//Object min(Collection,Comparator):根据Comparator指定的顺序返回给定集合中的最大元素
System.out.println("按指定排序最小的元素"+Collections.min(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String)o1).length() - ((String)o2).length();
}
}));
//int frequency(Collection, Object):返回指定集合中指定元素的出现次数
System.out.println("指定元素出现的次数:"+Collections.frequency(list,"tom"));
//void copy(List dest,List src):将src中的内容复制到dest中
ArrayList dest = new ArrayList();
//为了完成一个完整的拷贝,我们需要先给dest赋值,大小和list.size()一样
for(int i = 0; i < list.size(); i++){
dest.add("");
}
//拷贝
Collections.copy(dest,list);
System.out.println("dest="+dest);
//boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值
//如果list中,有tom就替换成汤姆
Collections.replaceAll(list,"tom","汤姆");
System.out.println("list替换后的list="+list);
}
}