• List 集合的一些常用操作


    import java.util.ArrayList;
    import java.util.List;
    
    class Student {
    
        private String name;
        private Integer age;
    
        public Student(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        @Override
        public String toString() {
            return "Perosn [name=" + name + ", age=" + age + "]";
        }
    }
    
    public class Test {
        public static void main(String[] args) {
    
            List<Student> students = new ArrayList<>();
            students.add(new Student("abc", 12));
            students.add(new Student("bcd", 20));
            students.add(new Student("cde", 17));
            students.add(new Student("def", 25));
            students.add(new Student("efg", 15));
            
            for (Student stu : students) {
                System.out.println(stu);
            }
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    在集合尾部添加元素

    Student student = new Student("123", 12);
    int endOfList = students.size();
    students.add(endOfList, student);
    
    Student [name=abc, age=12]
    Student [name=bcd, age=20]
    Student [name=cde, age=17]
    Student [name=def, age=25]
    Student [name=efg, age=15]
    Student [name=123, age=12]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    根据某个字段进行排序

    students.sort((x, y) -> Integer.compare(x.getAge(), y.getAge()));
    
    Student [name=abc, age=12]
    Student [name=123, age=12]
    Student [name=efg, age=15]
    Student [name=cde, age=17]
    Student [name=bcd, age=20]
    Student [name=def, age=25]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    根据某个属性去重

    import static java.util.stream.Collectors.collectingAndThen;
    import static java.util.stream.Collectors.toCollection;
    import static java.util.Comparator.comparingLong;
    
    List<Student> list = students.stream().collect(
        collectingAndThen(
            toCollection(() -> new TreeSet<>(comparingLong(Student::getAge))), ArrayList::new)
    );
    
    Student [name=abc, age=12]
    Student [name=efg, age=15]
    Student [name=cde, age=17]
    Student [name=bcd, age=20]
    Student [name=def, age=25]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    【从0到1进阶Redis】主从复制 — 主从机宕机测试
    Newsmy储能电源与您相约九州汽车生态博览
    UART串行通信
    Spring Boot 项目使用Spring Security防护CSRF攻击实战
    GeoTools快速入门
    猜测了一个sora模型结构
    C/C++ link-undefined 问题总结
    .NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
    四六级听力考试高频词汇分类记忆-职场工作类
    MySQL常见面试题(二)
  • 原文地址:https://blog.csdn.net/weixin_44129618/article/details/126189191