TreeSet实现集合中对象排序
2014-05-05 22:16
393 查看
package com.wzs; import java.util.*; public class UpdateStu implements Comparable<Object> { private String name; private long id; public UpdateStu(String name, long id) { this.id = id; this.name = name; } @Override public int compareTo(Object o) { UpdateStu upstu = (UpdateStu) o; // int result = id > upstu.id ? 1 : (id == upstu.id ? 0 : -1); int result; if (id > upstu.id) { result = 1; } else if (id == upstu.id) { result = 0; } else { result = -1; } return result; } public static void main(String[] args) { UpdateStu stu1 = new UpdateStu("李同学", 01011); UpdateStu stu2 = new UpdateStu("陈同学", 01021); UpdateStu stu3 = new UpdateStu("王同学", 01051); UpdateStu stu4 = new UpdateStu("马同学", 01012); TreeSet<UpdateStu> tree = new TreeSet<UpdateStu>(); tree.add(stu1); tree.add(stu2); tree.add(stu3); tree.add(stu4); Iterator<UpdateStu> it = tree.iterator(); System.out.println("Set集合中的所有元素:"); while (it.hasNext()) { UpdateStu stu = (UpdateStu) it.next(); System.out.println(stu.getId() + " " + stu.getName()); } it = tree.headSet(stu2).iterator(); System.out.println("截取前面部分的集合:"); while (it.hasNext()) { UpdateStu stu = (UpdateStu) it.next(); System.out.println(stu.getId() + " " + stu.getName()); } it = tree.subSet(stu2, stu3).iterator(); System.out.println("截取中间部分的集合"); while (it.hasNext()) { UpdateStu stu = (UpdateStu) it.next(); System.out.println(stu.getId() + " " + stu.getName()); } } // -- get&&set -- public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
输出结果: Set集合中的所有元素: 521 李同学 522 马同学 529 陈同学 553 王同学 截取前面部分的集合: 521 李同学 522 马同学 截取中间部分的集合 529 陈同学
相关文章推荐
- Android Studio 使用技巧一(删除Module)
- 【MOSS】Sharepoint大附件上传
- [转]hive中自定义函数(UDAF)实现多行字符串拼接为一行
- jsoup: Java HTML 解析器
- 安全威胁无孔不入:基于Linux系统的病毒(转)
- 特殊权限(t)之粘着位
- 文件系统,一些常用命令
- mina2
- 网络语音技术
- 轻量级高可用实现工具--keepalived详解
- java网络请求工具方法
- [置顶] Java自学视频整理(持续更新中...)
- Servlet Url映射规则(Mapping Requests to Servlets)
- [NHibernate]O/R Mapping基础
- 在WPF中读写config配置文件
- java生成FTL文件
- Linux Shell 脚本应用——字符串处理
- 使用_beginThreadex创建多线程(C语言版多线程)
- interProScan的使用
- 只识3个字的10亿老板