搜英文关键词网站,域名解析平台网站建设,知名网站域名,制作app的软件手机版文章目录 1. 操作集合的工具类#xff1a; Collections2. 应用3. 查找、替换3.1. max 与 min3.2. 根据Comparator返回max(min) 3.3. frequency 与 replaceAll4. 同步控制 1. 操作集合的工具类#xff1a; Collections Collections 是一个操作 Set 、List 和 Map 等集合的工具… 文章目录 1. 操作集合的工具类 Collections2. 应用3. 查找、替换3.1. max 与 min3.2. 根据Comparator返回max(min) 3.3. frequency 与 replaceAll4. 同步控制 1. 操作集合的工具类 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 处元素进行交换
2. 应用
举例1
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) {ListString list new ArrayListString();list.add(b);list.add(cd);list.add(ca);list.add(a);list.add(1);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);}
}运行结果 举例2
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) {Student s1 new Student(14, 张三);Student s2 new Student(12, 李四);Student s3 new Student(13, 王五);Student s4 new Student(11, 杨六);ListStudent stus new ArrayListStudent();stus.add(s1);stus.add(s2);stus.add(s3);stus.add(s4);for(Student stu : stus) {System.out.println(stu.name , stu.age);}System.out.println(----------------------------------);//根据元素的自然顺序对指定 List 集合元素按升序排序Collections.sort(stus, new Student());for(Student stu : stus) {System.out.println(stu.name , stu.age);}}}class Student implements ComparatorStudent{int age;String name;public Student() {}public Student(int age, String nmae) {this.age age;this.name nmae;}Overridepublic int compare(Student o1, Student o2) {//根据年龄升序排列对象if(o1.age o2.age) {return 1;}else if(o1.age o2.age) {return -1;}else {return 0;}}}运行结果
举例3将指定 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) {ListString list new ArrayListString();list.add(b);list.add(cd);list.add(ca);list.add(a);list.add(1);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); }}运行结果 3. 查找、替换
3.1. max 与 min Object max(Collection)根据元素的自然顺序返回给定集合中的最大元素 Object min(Collection)根据元素的自然顺序返回给定集合中的最小元素
举例
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) {ListString list new ArrayListString();list.add(b);list.add(cd);list.add(ca);list.add(a);list.add(1);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);System.out.println(Collections.max(list));//根据元素的自然顺序返回给定集合中的最大元素System.out.println(Collections.min(list));//根据元素的自然顺序返回给定集合中的最小元素}}运行结果
3.2. 根据Comparator返回max(min) Object max(Collection Comparator) 根据 Comparator 指定的顺序返回给定集合中的最大元素 Object min(Collection Comparator)根据 Comparator 指定的顺序返回给定集合中的最小元素
举例
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) {Student s1 new Student(14, 张三);Student s2 new Student(12, 李四);Student s3 new Student(13, 王五);Student s4 new Student(11, 杨六);ListStudent stus new ArrayListStudent();stus.add(s1);stus.add(s2);stus.add(s3);stus.add(s4);//根据 Comparator 指定的顺序返回给定集合中的最大元素Student s Collections.max(stus, new Student());System.out.println(s.name , s.age);//根据 Comparator 指定的顺序返回给定集合中的最小元素Student ss Collections.min(stus, new Student());System.out.println(ss.name , ss.age);}
}class Student implements ComparatorStudent{int age;String name;public Student() {}public Student(int age, String nmae) {this.age age;this.name nmae;}Overridepublic int compare(Student o1, Student o2) {//根据年龄升序排列对象if(o1.age o2.age) {return 1;}else if(o1.age o2.age) {return -1;}else {return 0;}}
}运行结果
3.3. frequency 与 replaceAll int frequency(Collection Object) 返回指定集合中指定元素的出现次数 boolean replaceAll(List list Object oldVal Object newVal) 使用新值替换 List 对象的所有旧值
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) {ListString list new ArrayListString();list.add(b);list.add(cd);list.add(ca);list.add(a);list.add(1);list.add(a);//返回指定集合中指定元素的出现次数System.out.println(Collections.frequency(list, a));System.out.println(Collections.frequency(list, b));System.out.println(Collections.frequency(list, x));//使用新值替换List对象的所有旧值Collections.replaceAll(list, a, aa);System.out.println(list);}
}运行结果
4. 同步控制
这部分了解即可 Collections 类中提供了多个 synchronizedXxx() 方法该方法可使将指定集合包装成线程同步的集合从而可以解决多线程并发访问集合时的线程安全问题