java 18-11 Collections用于ArrayList集合中

  Collections可以针对ArrayList存储基本包装类的元素排序,存储自定义对象可不可以排序呢?
    自定义对象要自己写比较器进行排序

 1 package cn.itcast_02;
 2
 3 import java.util.ArrayList;
 4 import java.util.Collections;
 5 import java.util.Comparator;
 6 import java.util.List;
 7 public class CollectionsDemo {
 8     public static void main(String[] args) {
 9         // 创建集合对象
10         List<Student> list = new ArrayList<Student>();
11
12         // 创建学生对象
13         Student s1 = new Student("林青霞", 27);
14         Student s2 = new Student("风清扬", 30);
15         Student s3 = new Student("刘晓曲", 28);
16         Student s4 = new Student("武鑫", 29);
17         Student s5 = new Student("林青霞", 27);
18
19         // 添加元素对象
20         list.add(s1);
21         list.add(s2);
22         list.add(s3);
23         list.add(s4);
24         list.add(s5);
25
26         // 排序
27         // 自然排序
28         // Collections.sort(list);
29         // 比较器排序
30         // 如果同时有自然排序和比较器排序,以比较器排序为主
31         Collections.sort(list, new Comparator<Student>() {
32             @Override
33             public int compare(Student s1, Student s2) {
34                 int num = s2.getAge() - s1.getAge();
35                 int num2 = num == 0 ? s1.getName().compareTo(s2.getName())
36                         : num;
37                 return num2;
38             }
39         });
40
41         // 遍历集合
42         for (Student s : list) {
43             System.out.println(s.getName() + "---" + s.getAge());
44         }
45     }
46 }
时间: 2024-12-16 15:12:18

java 18-11 Collections用于ArrayList集合中的相关文章

Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5)拿着个元素到新集合中去找,看有没有   有:不搭理它 没有:添加到新集合      (6)遍历新集合 2. 案例代码: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6

java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。

import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { ArrayList al = new ArrayList(); al.add("java01"); al.add("java02&q

java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。

import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据封装进人对象. 2,定义容器,将人存入. 3,取出. List集合判断元素是否相同,依据是元素的equals方法. */ class Person { private String name; private int age; Person(String name,int age) { this.n

Java 去除 ArrayList 集合中的重复元素

// One practice package Collection; import java.util.ArrayList; import java.util.Iterator; // 去除 ArrayList 集合中的重复元素 public class ArrayListTest { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) {

集合框架(去除ArrayList集合中的重复自定义对象元素案例)

学生类 package cn.itcast_04; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public v

把ArrayList集合的字符串存储到文本文件/把文本文件的数据存储到ArrayList集合中

把ArrayList集合的字符串存储到文本文件 分析: 1.ArrayList集合存储的是字符串 2.遍历ArrayList,获取数据 3.把数据存储到文本文件 4.由文本文件可知要用字符流 代码 package cn.idcast4; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; public class Day1

去除ArrayList集合中重复字符串元素方式_思路:创建新集合方式

import java.util.ArrayList; import java.util.Iterator; public class jh_01_去除ArrayList集合中重复字符串元素方式 { /* * /** * * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) { ArrayList list = new ArrayList(); li

Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)

1. 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     要求:不能创建新的集合,就在以前的集合上做. 2. 代码示例: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6 /* 7 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 8 * 要求:不能创建新的集合,就在以前的集合上做. 9 */ 10 public cla

java 18 - 10 Collections工具类的常用方法

Collections:是针对集合进行操作的工具类,都是静态方法. 要知道的方法 A:public static <T> void sort(List<T> list):排序 默认情况下是自然顺序. B:public static <T> int binarySearch(List<?> list,T key):二分查找 C:public static <T> T max(Collection<?> coll):最大值 D:publi