韩顺平老师的 零基础30天学java总结
一、Collections工具类介绍
(1)Collections是一个操作List、Set、Map集合的工具类。
(2)Collections提供了一系列的静态方法可以对集合元素进行排序、查找和修改等操作。
二、排序操作
(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处的元素进行交换。
ArrayList arrayList = new ArrayList();
arrayList.add("tom");
arrayList.add("tom");
arrayList.add("smith");
arrayList.add("king");
arrayList.add("milan");
arrayList.add("Cline");
arrayList.add("audrey");
System.out.println(arrayList);
//1.reverse反正arrayList里面元素的顺序
Collections.reverse(arrayList);
System.out.println(arrayList);
//2.shuffle对arrayList集合中元素进行随机排序
System.out.println("shuffle随机排序----");
// for (int i = 0; i < 5; i++) {
// Collections.shuffle(arrayList);
// System.out.println(arrayList);
// }
//3.sort自然排序
Collections.sort(arrayList);
System.out.println("自然排序-----");
System.out.println(arrayList);
//4.定制排序-如根据字符串长度大小
System.out.println("定制排序----");
Collections.sort(arrayList, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
// if (o1 instanceof String)
return ((String)o1).length()-((String)o2).length();
}
});
System.out.println(arrayList);
//5.swap(list,i,j);将i,j位置的元素互换。
Collections.swap(arrayList,0,2);
三、替换、查找
(1)Object max(Collection):根据元素的自然顺序,返回给定集合的最大元素。
(2)Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大值。
(3)Object min(Collection)
(4)Object min(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对象中的所有旧值。
//6.max-自然顺序
Comparable max = Collections.max(arrayList);
System.out.println("自然最大值为"+max);
//7.定制最大值-如根据字符串的长度。
Object max1 = Collections.max(arrayList, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String)o1).length()-((String)o2).length();
}
});
System.out.println("定制后的最大值为;"+max1);
//8.int frequency(Collection,Object):统计集合中指定元素出现的次数。
System.out.println("tom出现的次数为"+Collections.frequency(arrayList,"tom"));
//9.void copy()List dest,List src):将src的内容复制到dest。(后复制前)
ArrayList dest = new ArrayList();
for (int i = 0; i <arrayList.size(); i++) {
dest.add("");
}
Collections.copy(dest,arrayList);
System.out.println("dest="+dest);
//10.replaceAll()将集合中所有a替换称b
Collections.replaceAll(arrayList,"tom","汤姆");
System.out.println("替换后的值为:"+arrayList);