- Collections 是一个操作Set、List和Map等集合的工具类
- Collections中提供了一系列静态的方法对集合元素进行排序。潮汛和修改等操作
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Collections_ {
public static void main(String[] args) {
//创建ArrayList 集合,用于测试
List list = new ArrayList();
list.add("jack");
list.add("tom");
list.add("tom");
list.add("tom");
list.add("tocm");
list.add("sp");
list.add("a");
System.out.println(list);
//reverse(List): 反转 List中元素的顺序
Collections.reverse(list);
System.out.println(list);
//shuffle(List):对List 集合元素进行随机排序(每次都不一样)
Collections.shuffle(list);
System.out.println(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) {
if (o1 instanceof String) {//校验代码
return ((String) o2).length() - ((String) o1).length();
}
return 0;
}
});
System.out.println("按照字符串大小排序="+list);
//swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换
//比如
Collections.swap(list,0,1);
System.out.println("交换后情况"+list);
//Object max(Collection):根据元素的自然顺序,返回给顶集合中的最大元素
System.out.println("自然顺序最大元素="+Collections.max(list));
//Object max(Collection,Comparator):根据Comparator 指定的顺序,返回给定集合中最大元素
Object maxObject = Collections.max(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String)o1).length()-((String)o2).length();
}
});
System.out.println("长度最大的元素="+maxObject);
//Object min(Collection)
//Object min(Collection,Comparator)
//上面的两个方法,参考max即可
//int frequency(Collection,Object):返回指定集合中指定元素的出现次数
System.out.println("tom出现的次数="+Collections.frequency(list,"tom"));
//void copy(List dest,List src):将src中的内容复制到dest中
ArrayList dest = new ArrayList();
for (int i = 0; i <list.size() ; i++) {
dest.add("");
}
Collections.copy(dest,list);
System.out.println(dest);
//boolean replaceAll(List list ,Object oldVal,Object newVal):使用新值替换 List 对象的所有旧值
//如果list中,有tom就替换成汤姆
Collections.replaceAll(list,"tom","汤姆");
System.out.println("替换后"+list);
}
}