1、Collections是一个操作Set、List和Map等集合的工具类
2、Collection中提供了一系列静态的方法对集合元素进行排序、查找和修改等操作
排序操作(均为static方法):
1、reverse(List):反转List中元素的顺序
2、shuffle(List):对List集合元素进行随机排序
3、sort(List):根据元素的自然顺序对指定List集合元素按升序排序
4、sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序
5、swap(List,int,int):将指定List集合中的i处元素和j处元素进行交换
import java.util.*;
public class Study {
@SuppressWarnings({"all"})
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add("tom");
arrayList.add("jary");
arrayList.add("smith");
arrayList.add("jack");
//reverse(List)
Collections.reverse(arrayList);
System.out.println("反转后:"+arrayList);
//shuffle(List)
Collections.shuffle(arrayList);
System.out.println(arrayList);
//sort(List)自然排序,类型需要一致
Collections.sort(arrayList);
System.out.println("自然排序后:"+arrayList);
//sort(List,Comparator)根据指定的Comparator产生的顺序对List集合进行排序
Collections.sort(arrayList, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
if (o1 instanceof String && o2 instanceof String)
return ((String) o1).length() - ((String) o2).length();
return 0;
}
});
System.out.println("指定排序后:"+arrayList);
//swap(List,int,int)
Collections.swap(arrayList,1,2);
System.out.println("交换后:"+arrayList);
}
}
查找与替换:
1、Object max(Collection):根据元素的自然排序,返回给定集合中的最大元素
2、Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中最大元素
3、Object min(Collevtion)
4、Object max(Collection,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对象的所有旧值
public class Study {
@SuppressWarnings({"all"})
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add("tom");
arrayList.add("jary");
arrayList.add("smith");
arrayList.add("jack");
//max
System.out.println(Collections.max(arrayList));
System.out.println(Collections.max(arrayList, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o1).length() - ((String) o2).length();
}
}));
//frequency
System.out.println(Collections.frequency(arrayList,"tom"));
//copy
ArrayList dest = new ArrayList(Arrays.asList(new String[arrayList.size()]));
// for (int i = 0; i < arrayList.size(); i++) {
// dest.add("");
// }
Collections.copy(dest,arrayList);
System.out.println(dest);
}
}