代码训练营——TreeSet
来源:互联网 发布:写英语论文的软件 编辑:程序博客网 时间:2024/04/20 12:49
import java.util.*;//存储自定义对象;想按照学生的年龄进行排序//TreeSet:可以对Set集合中的元素进行排序//需求:/*往TreeSet集合中存储自定义对象学生。想按照学生的年龄进行排序。记住:排序时,当主要条件相同时,一定判断次要条件。*/class TreeSetDemo{ public static void main(String[] args) { TreeSet ts = new TreeSet(); ts.add(new Student("lisi02",22)); ts.add(new Student("lisi03",20)); ts.add(new Student("lisi06",19)); Iterator it = ts.iterator(); while(it.hasNext()) { Student stu = (Student)it.next(); sop(stu.getName()+"......"+stu.getAge()); } } public static void sop(Object obj) { System.out.println(obj); }}class Student implements Comparable //该接口强制让学生具备比较性{ private String name; private int age; Student(String name,int age) { this.name = name; this.age = age; } public int compareTo(Object obj)//复写比较方法 { if(!(obj instanceof Student)) throw new RuntimeException("不是学生类"); Student stu = (Student)obj; System.out.println(this.name+"...compareTo..."+stu.name); if(this.age > stu.age) return 1; if(this.age == stu.age) { return this.name.compareTo(stu.name); } return -1; } public String getName() { return name; } public int getAge() { return age; }}
lisi02…compareTo…lisi02
lisi03…compareTo…lisi02
lisi06…compareTo…lisi02
lisi06…compareTo…lisi03
lisi06……19
lisi03……20
lisi02……22
ts.add(new Student("lisi02",22));ts.add(new Student("lisi03",20));ts.add(new Student("lisi06",19));ts.add(new Student("lisi04",19));ts.add(new Student("lisi05",19));
lisi02…compareTo…lisi02
lisi03…compareTo…lisi02
lisi06…compareTo…lisi02
lisi06…compareTo…lisi03
lisi04…compareTo…lisi03
lisi04…compareTo…lisi06
lisi05…compareTo…lisi03
lisi05…compareTo…lisi06
lisi05…compareTo…lisi04
lisi04……19
lisi05……19
lisi06……19
lisi03……20
lisi02……22
0 0
- 代码训练营——TreeSet
- 代码训练营——TreeSet比较器
- JAVA代码训练营救——TreeSet的泛型实现
- 代码训练营——String
- 代码训练营——StringBuffer
- 代码训练营——ArrayList
- 代码训练营——TreeMap
- 代码训练营——泛型实例
- 代码训练营——泛型之限定
- JAVA代码训练营—— keySet、entrySet
- 代码训练营——递归算法判断递增数组
- 代码训练营——java读取文件中内容
- 代码训练营——进制转换
- 对象容器——TreeSet
- Java——TreeSet练习
- 黑马程序员——TreeSet
- 黑马程序员训练营---------TreeSet集合中对象进行排序的两种方式
- Set接口——HashSet和TreeSet
- 最长子序列问题(时间复杂度O(nlog(n))
- Linux下用户组、文件权限详解
- Class Methods & Variables
- HTML/CSS实现下拉菜单
- matlab图像保存
- 代码训练营——TreeSet
- 虚拟机提示:无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件
- 流式布局 自定义控件 特别热
- 7.UI补充/03静态库和内存分析、硬件获取
- 118. Pascal's Triangle
- Activity中ConfigChanges属性的用法
- Mysql 里CHAR和VARCHAR的最大长度及一些注意事项
- Ubuntu14.04交叉编译U-Boot
- fedora 的学习历程