Java学习笔记——操作集合的工具类:Collections
操作集合的工具类:Collections Collections是一个操作Set,List,Map等集合的工具类 Collections中提供了大量方法对集合元素进行排序,查询和修改等操作,还提供了对集合对象设置不可变,对集合对象实现同步控制等方法 排序操作: reverse(List):反转List中元素的顺序 shuffle(List):对List集合元素进行随机排序 sort(List):根据元素的自然顺序对指定的List集合元素按升序排序 sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素排序 swap(List,int,int):将指定list集合小红放入i处元素和j处元素进行交换
package day10; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Test7 { public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("b"); list.add("cd"); list.add("ac"); list.add("a"); list.add("21"); list.add("3"); System.out.println(list); Collections.reverse(list);//反转List中元素的顺序 System.out.println(list); Collections.shuffle(list);//对List集合元素进行随机排序 System.out.println(list); Collections.sort(list);//根据元素的自然顺序对指定的List集合元素按升序排序 System.out.println(list); Collections.swap(list, 0, 4);//将指定list集合小红放入i处元素和j处元素进行交换 System.out.println(list); Student s1=new Student(14,"张三"); Student s2=new Student(12,"李四"); Student s3=new Student(25,"王五"); Student s4=new Student(34,"赵六"); List<Student> stus=new ArrayList<Student>(); stus.add(s1); stus.add(s2); stus.add(s3); stus.add(s4); for(Student stu:stus){ System.out.println(stu.name+","+stu.age); } //根据指定的Comparator产生的顺序对List集合元素排序 Collections.sort(stus, new Student()); System.out.println("===根据指定的Comparator产生的顺序对List集合元素排序===="); for(Student stu:stus){ System.out.println(stu.name+","+stu.age); } } } class Student implements Comparator<Student>{ int age; String name; public Student(){ } public Student(int age, String name) { super(); this.age = age; this.name = name; } @Override public int compare(Student o1, Student o2) {//根据年龄升序排列对象 if(o1.age>o2.age){ return 1; }else if(o1.age<o2.age){ return -1; }else{ return 0; } } }
Object max(Collection):根据元素中的自然顺序,返回给定集合中的最大元素 Object max(Collecyion,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素 Object min(Collection) Object min(Collecyion,Comparator) int frequency(Collection,Object):返回指定集合中指定元素的出现次数 boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值
System.out.println(Collections.max(list)); System.out.println(Collections.min(list)); Student s=Collections.max(stus, new Student()); System.out.println(s.name+","+s.age); Student ss=Collections.min(stus, new Student()); System.out.println(ss.name+","+ss.age); System.out.println(Collections.frequency(list, "a")); Collections.replaceAll(list, "a", "aa"); System.out.println(list);