JAVA Collections
Collenctions概述和使用
Collections类的概述
-
- 是针对集合操作的工具类
Collections类的常用方法
-
- public static <T extends Comparable<? super T>> void sort(List list):将指定的列表按升序排序
- public static void reverse(List<?> list):反转指定列表中元素的顺序
- public static void shuffle(List<?> list):使用默认的随机源随机排列指定的列表
1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.List; 4 5 /* 6 Collections类的概述 7 8 - 是针对集合操作的工具类 9 10 Collections类的常用方法 11 12 - public static <T extends Comparable<? super T>> void sort(List<T> list):将指定的列表按升序排序 13 - public static void reverse(List<?> list):反转指定列表中元素的顺序 14 - public static void shuffle(List<?> list):使用默认的随机源随机排列指定的列表 15 16 17 18 */ 19 20 public class CollectionsDemo { 21 public static void main(String[] args) { 22 //创建List集合对象 23 List<Integer> list = new ArrayList<Integer>(); 24 25 //添加元素 26 list.add(10); 27 list.add(20); 28 list.add(40); 29 list.add(60); 30 list.add(50); 31 32 // public static <T extends Comparable<? super T>> void sort(List<T> list):将指定的列表按升序排序 33 Collections.sort(list); 34 /*运行结果: 35 [10, 20, 40, 50, 60] 36 */ 37 38 // public static void reverse(List<?> list):反转指定列表中元素的顺序 39 Collections.reverse(list); 40 /*运行结果:反转列表中元素的顺序 41 [50, 60, 40, 20, 10] 42 */ 43 44 // public static void shuffle(List<?> list):使用默认的随机源随机排列指定的列表 45 Collections.shuffle(list); 46 /*运行结果:随机排序 每次运行会出现不同的结果 47 [10, 60, 20, 50, 40] 48 */ 49 50 System.out.println(list); 51 52 } 53 }
案例:ArrayList存储学生对象并排序
需求:ArratLIst存储学生对象,使用Collections对ArrayList进行排序
要求:按照年龄从小到大的排序,年龄相同时,按照姓名的字母顺序排序
1 //定义学生类 2 public class Student { 3 private String name; 4 private int age; 5 6 public String getName() { 7 return name; 8 } 9 10 public void setName(String name) { 11 this.name = name; 12 } 13 14 public int getAge() { 15 return age; 16 } 17 18 public void setAge(int age) { 19 this.age = age; 20 } 21 22 public Student(String name, int age) { 23 super(); 24 this.name = name; 25 this.age = age; 26 } 27 28 public Student() { 29 super(); 30 } 31 32 }
1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.Comparator; 4 5 /* 6 案例:ArrayList存储学生对象并排序 7 8 需求:ArratLIst存储学生对象,使用Collections对ArrayList进行排序 9 要求:按照年龄从小到大的排序,年龄相同时,按照姓名的字母顺序排序 10 11 */ 12 public class ArrayListDemo { 13 public static void main(String[] args) { 14 //创建ArrayList集合对象 15 ArrayList<Student> array = new ArrayList<Student>(); 16 17 //创建学生对象 18 Student s1 = new Student("小白", 12); 19 Student s2 = new Student("小黑", 11); 20 Student s3 = new Student("小蓝", 14); 21 Student s4 = new Student("小红", 15); 22 23 //把学生添加到集合中 24 array.add(s1); 25 array.add(s2); 26 array.add(s3); 27 array.add(s4); 28 29 //使用Collections对集合排序 30 //sort (List<T> list,Comparator<? super T>) 31 Collections.sort(array, new Comparator<Student>() { 32 @Override 33 public int compare(Student s1, Student s2) { 34 //按照年龄从小到大的排序 35 int num = s1.getAge() - s2.getAge(); 36 //年龄相同时,按照姓名的字母顺序排序 37 int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num; 38 return num2; 39 }; 40 }); 41 42 //遍历集合 43 for (Student s : array) { 44 System.out.println(s.getName() + "," + s.getAge()); 45 } 46 47 } 48 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY