作为一个稀有的Java妹子,所写的所有博客都只是当作自己的笔记,留下证据自己之前是有用心学习的~哈哈哈哈(如果有不对的地方,也请大家指出,不要悄悄咪咪的不告诉我)
1.Collections
首先区分下Collections和Collection,前者是集合的一个工具类,提供了非常多的便捷方法操作集合;后者是集合的鼻祖接口
2.主要方法
1.sort排序
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
//排序,默认是从小到大
Collections.sort(list);
System.out.println(list);
//[aaa, ccc, nnn, rrr, ttt]
//指定排序方式
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if(o1.compareTo(o2)<0){
return 1;
}
return -1;
}
});
System.out.println(list);
//[ttt, rrr, nnn, ccc, aaa]
2.reverse倒叙方法
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
Collections.reverse(list);
System.out.println(list);
//[nnn, ccc, aaa, rrr, ttt]
3.shuffle随机排序
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
Collections.shuffle(list);
System.out.println(list);
//[nnn, rrr, ccc, aaa, ttt]
4.swap交换集合中某两个位置元素
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
Collections.swap(list,1,2);
System.out.println(list);
//[ttt, aaa, rrr, ccc, nnn]
5.copy覆盖下标复制一个集合到另一个集合
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
ArrayList<String> list2 = new ArrayList<>();
list2.add("111");
list2.add("222");
Collections.copy(list,list2);
System.out.println(list);
//[111, 222, aaa, ccc, nnn]
6.min返回集合中的最小元素
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
String min = Collections.min(list);
System.out.println(min);
//aaa
7.max返回集合中的最大元素
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
String max = Collections.max(list);
System.out.println(max);
//ttt
8.replaceAll替换集合中所有的旧元素为新元素
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
list.add("ccc");
Collections.replaceAll(list,"ccc","xxx");
System.out.println(list);
//[ttt, rrr, aaa, xxx, nnn, xxx]
9.indexOfSubList返回某一个元素在集合中第一次出现的位置
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
list.add("ccc");
List<String> list2 = new ArrayList<>();
list2.add("ccc");
int i = Collections.indexOfSubList(list, list2);
System.out.println(i);
//3
10.frequency查找某个元素在集合中出现的次数
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
list.add("ccc");
int n = Collections.frequency(list, "ccc");
System.out.println(n);
//2
11.fill全部元素替换
List<String> list = new ArrayList<>();
list.add("ttt");
list.add("rrr");
list.add("aaa");
list.add("ccc");
list.add("nnn");
list.add("ccc");
Collections.fill(list,"o");
System.out.println(list);
//[o, o, o, o, o, o]