工具类Collections

发布时间 2023-11-27 10:51:15作者: 同学?

Collections是一个操作Set,List,Map等集合的工作类
Collections中提供了大量方法对集合元素进行排序,查询,修改等工作,还提供了对集合对象设置不可变,对集合对象实现同步控制等方法

 

package JavaSE.gather;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class collections {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(2);//添加元素
list.add(1);
list.add(4);
list.add(3);
System.out.println("集合list:" + list);
java.util.Collections.reverse(list);//反转list中元素的顺序
System.out.println("反转后:" + list);
java.util.Collections.shuffle(list);//对list进行随机排序
System.out.println("随机排序:" + list);
java.util.Collections.sort(list);//对list进行字典升序排序
System.out.println("字典升序排序" + list);
Collections.swap(list, 0, 1);//指定list中的i处元素与j处元素进行交换
System.out.println("将下标为0的元素与下标为1的元素进行交换" + list);
System.out.println("list集合中最大的元素:" + Collections.max(list));//查找集合中最大的元素
System.out.println("list集合中最小的元素:" + Collections.min(list));//查找集合中最小的元素
System.out.print("list集合中元素‘2’共出现:");
System.out.print(Collections.frequency(list, 2));//返回指定集合中指定元素的出现次数
System.out.println("次");
Collections.replaceAll(list, 4, 44);//将指定集合中的指定元素替换为另一元素
System.out.println("将集合中的元素‘4’替换为‘44’:" + list);
b b1 = new b(24, "张三");
b b2 = new b(21, "李四");
b b3 = new b(23, "王二");
b b4 = new b(22, "麻子");
List<b> bb = new ArrayList<b>();
bb.add(b1);
bb.add(b2);
bb.add(b3);
bb.add(b4);
for (b bbb : bb) {
//System.out.println(bbb.age+","+bbb.name);//遍历集合

}
Collections.sort(bb, new b());//按年龄大小将集合升序排列
//System.out.println("-------------");
for (b bbb : bb) {
// System.out.println(bbb.age+","+bbb.name);

}
}
}

class b implements Comparator<b> {
int age;
String name;

public b() {
}

public b(int age, String name) {
this.age = age;
this.name = name;
}

@Override
public int compare(b o1, b o2) {
if (o1.age > o2.age) {
return 1;
} else if (o1.age < o2.age) {
return -1;
} else {
return 0;
}
}
}