java基础复习----set集合使用
来源:互联网 发布:腾讯 绝地求生 知乎 编辑:程序博客网 时间:2024/06/05 04:09
创建比较需要的自定义类,并实现自然比较接口
package set;/* * 如果一个类的元素要想能够进行自然排序,就必须实现自然排序接口 */public class Student implements Comparable<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 void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic int compareTo(Student s) {// 主要条件 姓名的长度int num = this.name.length() - s.name.length();// 姓名的长度相同,不代表姓名的内容相同int num2 = num == 0 ? this.name.compareTo(s.name) : num;// 姓名的长度和内容相同,不代表年龄相同,所以还得继续判断年龄int num3 = num2 == 0 ? this.age - s.age : num2;return num3;}}
测试TreeSet
package set;import java.util.TreeSet;/* * 需求:请按照姓名的长度排序 */public class TreeSetDemo {public static void main(String[] args) {// 创建集合对象TreeSet<Student> ts = new TreeSet<Student>();// 创建元素Student s1 = new Student("linqingxia", 27);Student s2 = new Student("zhangguorong", 29);Student s3 = new Student("wanglihong", 23);Student s4 = new Student("linqingxia", 27);Student s5 = new Student("liushishi", 22);Student s6 = new Student("wuqilong", 40);Student s7 = new Student("fengqingy", 22);Student s8 = new Student("linqingxia", 29);// 添加元素ts.add(s1);ts.add(s2);ts.add(s3);ts.add(s4);ts.add(s5);ts.add(s6);ts.add(s7);ts.add(s8);// 遍历for (Student s : ts) {System.out.println(s.getName() + "---" + s.getAge());}}}
阅读全文
0 0
- java基础复习----set集合使用
- java基础复习-map与collection set+list集合总结
- JAVA基础复习十七-Set集合及其子类
- java基础-----集合 set
- Java基础复习:Set接口
- Java复习之集合框架Set接口
- Java基础复习:集合框架
- java基础复习 集合框架
- java基础复习之集合
- JAVA集合Set使用
- Java基础15-集合Set
- java基础之集合Set
- Java基础--集合Set-HashSet
- Java基础--集合Set-TreeSet
- java基础.集合.Set.初识
- Set 集合复习
- java基础-- 集合框架 之 Set集合
- JAVA学习--集合Set使用
- HiddenHttpMethodFilter过滤器—SpringMVC
- RabitMQ相关介绍
- nginx 配置https
- 如何设置表单必需字段及错误信息
- 推荐 7 款最好的 Ruby on Rails 集成开发环境
- java基础复习----set集合使用
- springMVC工作原理
- qemu.hw.mainkeys 控制是否存在navigationBar
- 操作系统之进程与线程6——死锁处理
- postman+jenkins+newman做接口测试的持续集成
- Spring Boot Nginx axios 跨域设置
- Porfessional JS(21.2-XMLHttpRequest Level 2/Progress Event/CORS)& Sharp jQuery(selectors[part])
- C语言程序Linux下运行
- Android学习笔记——数据存储