【java学习

您所在的位置:网站首页 集合工具类排序 【java学习

【java学习

2024-07-16 00:43| 来源: 网络整理| 查看: 265

文章目录 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) { List list = new ArrayList(); 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, "杨六"); List stus = new ArrayList(); 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 Comparator{ int age; String name; public Student() { } public Student(int age, String nmae) { this.age = age; this.name = nmae; } @Override public int compare(Student o1, Student o2) {//根据年龄升序排列对象 if(o1.age > o2.age) { return 1; }else if(o1.age o2.age) { return 1; }else if(o1.age


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3