1. package st;
  2.  
  3. public class PersonBean implements Comparable<Object>{
  4.  
  5. private String name;
  6. private int age;
  7.  
  8. PersonBean(String name, int age) {
  9. this.name = name;
  10. this.age = age;
  11. }
  12.  
  13. public String getName() {
  14. return name;
  15. }
  16.  
  17. public int getAge() {
  18. return age;
  19. }
  20.  
  21. @Override
  22. public int compareTo(Object obj) {
  23. if (!(obj instanceof PersonBean))
  24. throw new RuntimeException();
  25. /**
  26. * 在这里定义比较对象大小的方法
  27. * 先进行年龄的比较,年龄不相等再进行姓名的比较
  28. * 如果年龄与姓名都相等,那么就代表同一个对象
  29. */
  30. PersonBean pe = (PersonBean) obj;
  31. if (this.age > pe.age)
  32. return ;
  33. if (this.age == pe.age) {
  34. return this.name.compareTo(pe.name);
  35. }
  36.  
  37. return -;
  38. }
  39.  
  40. }
  1. import java.util.Iterator;
  2. import java.util.TreeSet;
  3.  
  4. public class Dup {
  5. public static void main(String[] args) {
  6.  
  7. // 向这个集合中存储自定义对象
  8. TreeSet<PersonBean> ts = new TreeSet<PersonBean>();
  9. ts.add(new PersonBean("lishi", ));
  10. ts.add(new PersonBean("lishi1", ));
  11. ts.add(new PersonBean("lishi56", ));
  12. ts.add(new PersonBean("lishi4", ));
  13.  
  14. //获取迭代器,取出其中的元素
  15. Iterator<PersonBean> it = ts.iterator();
  16. while (it.hasNext()) {
  17. PersonBean pe = (PersonBean) it.next();
  18. System.out.println(pe.getAge() + " " + pe.getName());
  19. }
  20.  
  21. }
  22. }

TreeSet多字段排序的更多相关文章

  1. PHP 二维数组根据某个字段排序

    二维数组根据某个字段排序有两种办法,一种是通过sort自己写代码,一种是直接用array_multisort排序函数 一. 手写arraysort PHP的一维数组排序函数: sort  对数组的值按 ...

  2. 对文本行按特定字段排序(前N个字符或后N个字符),TCPL 练习5-17

    The C programming language 的关于文本行排序的问题有很多种要求的方式,在对每行的字段排序方面,最简单的是例如对前N个字符或者末位N个字符进行排序,更高一点的要求是,对特殊符号 ...

  3. php 数组排序以及按照某个字段排序

    经常,开发人员发现在PHP中使用这种数据结构对值或者数组元素进行排序非常有用.PHP提供了一些适合多种数组的排序函数,这些函数允许你在数组内部对元素进行排列,也允许用很多不同的方法对它们进行重新排序. ...

  4. Entity Framework 4、5 多字段排序

    public interface IOrderByExpression<TEntity> where TEntity : class { IOrderedQueryable<TEnt ...

  5. LINQ 按多个字段排序

    多字段排序 添加到 LINQ 查询结果中的Take()扩展方法用于提取前 个结果: private static void Ordering() { var racers = (from r in F ...

  6. [wordpress]根据自定义字段排序并根据自定义字段查询

    Wordpress中,根据根据自定义字段排序和查询是通过WP_Query()方法 如根据 一个自定义的sort的数字字段从小到大进行排序 $args = array( 'post_type' => ...

  7. Java 多字段排序Comparator(兼容Date,Integer,Doubel,Long)

    Java 反射类:ReflexUtil public class ReflexUtil { static Logger logger = LoggerFactory.getLogger(ReflexU ...

  8. CakePHP下使用paginator需要对多个字段排序的做法

      原文:http://blog.csdn.net/kunshan_shenbin/article/details/7644603  CakePHP下使用paginator需要对多个字段排序的做法 2 ...

  9. angularjs 字段排序 多字段排序

    我们用angularjs {{}},ng-model循环绑定数组或对象的内容的时候,有时候会用到排序,有时候可能会有多个字段排序 具体要用到过滤 数据的展现,可以通过ng-repeat实现.当网页解析 ...

随机推荐

  1. centos下cmake编译安装mysql5.7.24

    一.centos6.5推荐最小安装.自定义添加如图两个包 二.安装cmake3.0(mysql5.7要求cmake2.9以上.cmake3.1要求gcc g++4.8以上.所以选自3.0) 1.分别执 ...

  2. 关于vivado----xdc文件时钟约束的初识

    关于vivado----xdc文件时钟约束的初识 1.Primary Clocks(主时钟) 然而,对于比较复杂的时钟: 2.某个模块采用的主时钟(比如说GT) 3.时钟分频 4.复杂一点的时钟描述 ...

  3. 实现类QQ的编辑框

    第一步,平面效果.Windows系统有几个消息专门用来处理Windows组件的边框部位,那就是WM_NCCALCSIZE和WM_NCPAINT这两个消息,从消息名字看来NC这个就代表着No Clien ...

  4. delphi Int64Rec 应用实例

    以下代码可以看到 Int64Rec <--> Int64 procedure TForm1.Button2Click(Sender: TObject); var ii1,ii2,ii3:I ...

  5. jquery 中prop和 attr

    prop就是给html中元素固有的属性赋值 而attr是给元素定义新的属性值.

  6. C++进阶--结构体和类

    // 单纯从语言上来说,两者唯一的区别是,默认成员是公有还是私有 // 从使用习惯上 // 小的消极对象,包含公有数据,没有或仅有很少的基本的成员函数 -- 数据容器 struct Person_t ...

  7. DB2如何将数据库表解锁

    死锁是应用程序争抢资源造成de,把相关应用程序结束掉就可以解除死锁了 先用list application for database yourdatabasename show detail 来看看应 ...

  8. 淘宝购买的“公网IP盒子”企业版存在很多问题

    现在罗列了几点问题希望官方尽快能得到解决 1:不支持PPPoE拨号(必须让路由器先拨号后再用这个设备上网)2:不支持双线双IP接入3:配置界面不能设置密码(知道内网IP就可以进了)4:不能代理独立IP ...

  9. Scrapy学习篇(二)之常用命令行工具

    简介 Scrapy是通过Scrapy命令行工具进行控制的,包括创建新的项目,爬虫的启动,相关的设置,Scrapy提供了两种内置的命令,分别是全局命令和项目命令,顾名思义,全局命令就是在任意位置都可以执 ...

  10. Recyclerview 实现上拉加载更多

    LinearLayoutManager layoutManager; layoutManager = new LinearLayoutManager(getActivity()); layoutMan ...