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