一、基本介绍
1、Collections 是一个操作Set、List和Map等集合的工具类
2、Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作
二、常用方法
排序操作
1、reverse(List):反转 List 中元素的顺序
2、shuffle(Lise):对 List 集合元素进行随机排序
3、sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
4、swap(List,int,int):将指定 List 集合中的 i 处元素和 j 处元素进行交换
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Collections01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("tom");
list.add("smith");
list.add("king");
list.add("ja");
//1、reverse(List):反转 List 中元素的顺序
Collections.reverse(list);
System.out.println(list);//[ja, king, smith, tom]
//2、shuffle(Lise):对 List 集合元素进行随机排序
Collections.shuffle(list);
System.out.println(list);//每次输出的结果随机
//3、sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
//希望按照字符串长度排序
Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o2).length() - ((String) o1).length();
}
});
System.out.println(list);//[smith, king, tom, ja]
//4、swap(List,int,int):将指定 List 集合中的 i 处元素和 j 处元素进行交换
Collections.swap(list, 0, 2);
System.out.println(list);//[tom, king, smith, ja]
}
}
查找、替换
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,Lisr src):将 src 中的内容复制到 dest 中
7、boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List对象的所有
旧值
package com.javase.collections_;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Collections01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("tom");
list.add("smith");
list.add("king");
list.add("ja");
list.add("tom");
//查找、替换
//1、Object max(Collection):根据元素的自然顺序排序,返回给定集合中的最大元素
System.out.println(Collections.max(list));//tom
//2、Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中的最大元素
//希望返回长度最大的字符串
Object max = Collections.max(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((String) o1).length() - ((String) o2).length();
}
});
System.out.println(max);//smith
//3、Object min(Collection):根据元素的自然顺序排序,返回给定集合中的最小元素
//4、Object min(Collection,Comparator)
//使用方法参考上面的max
//5、int frequency(Collection,Object):返回指定集合中指定元素出现的次数
System.out.println(Collections.frequency(list, "tom"));//2
//6、void copy(List dest,Lisr src):将 src 中的内容复制到 dest 中
List dest = new ArrayList();
//为了完成拷贝,需要先给 dest 赋值,大小和 list.size() 一样
for (int i = 0; i < list.size(); i++) {
dest.add("");
}
//拷贝
Collections.copy(dest, list);
System.out.println(dest);
//7、boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List对象的所有旧值
//如果list 中有 "tom" 就替换成 "汤姆"
Collections.replaceAll(list, "tom", "汤姆");
System.out.println(list);
}
}