使用TreeSet集合的坑

0 阅读1分钟

使用TreeSet存自定义对象时,需要注意,如果排序依据的值相同时(比如按照年龄排序,某两个对象年龄相等时),TreeSet不会存入后面加入的这个元素

 // 创建TreeSet对象,并传入比较器,比较器按照元素年龄升序
 Set<Student> set = new TreeSet<>(Comparator.comparingInt(Student::getAge));

 set.add(new Student("张三", 25));
 // 年龄重复, 该元素会不存入
 set.add(new Student("李四", 25));
 set.add(new Student("王五", 23));
 set.add(new Student("赵六", 24));
 set.add(new Student("张三", 22));
 set.add(new Student("赵六", 20));
 
 set.forEach(student -> System.out.println(student));

在这里插入图片描述

首次发布

hezhongying.blog.csdn.net/article/det…