TreeSet多字段排序
package st;
public class PersonBean implements Comparable<Object>{
private String name;
private int age;
PersonBean(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Object obj) {
if (!(obj instanceof PersonBean))
throw new RuntimeException();
/**
* 在这里定义比较对象大小的方法
* 先进行年龄的比较,年龄不相等再进行姓名的比较
* 如果年龄与姓名都相等,那么就代表同一个对象
*/
PersonBean pe = (PersonBean) obj;
if (this.age > pe.age)
return ;
if (this.age == pe.age) {
return this.name.compareTo(pe.name);
}
return -;
}
}
import java.util.Iterator;
import java.util.TreeSet; public class Dup {
public static void main(String[] args) { // 向这个集合中存储自定义对象
TreeSet<PersonBean> ts = new TreeSet<PersonBean>();
ts.add(new PersonBean("lishi", ));
ts.add(new PersonBean("lishi1", ));
ts.add(new PersonBean("lishi56", ));
ts.add(new PersonBean("lishi4", )); //获取迭代器,取出其中的元素
Iterator<PersonBean> it = ts.iterator();
while (it.hasNext()) {
PersonBean pe = (PersonBean) it.next();
System.out.println(pe.getAge() + " " + pe.getName());
} }
}
TreeSet多字段排序的更多相关文章
- PHP 二维数组根据某个字段排序
二维数组根据某个字段排序有两种办法,一种是通过sort自己写代码,一种是直接用array_multisort排序函数 一. 手写arraysort PHP的一维数组排序函数: sort 对数组的值按 ...
- 对文本行按特定字段排序(前N个字符或后N个字符),TCPL 练习5-17
The C programming language 的关于文本行排序的问题有很多种要求的方式,在对每行的字段排序方面,最简单的是例如对前N个字符或者末位N个字符进行排序,更高一点的要求是,对特殊符号 ...
- php 数组排序以及按照某个字段排序
经常,开发人员发现在PHP中使用这种数据结构对值或者数组元素进行排序非常有用.PHP提供了一些适合多种数组的排序函数,这些函数允许你在数组内部对元素进行排列,也允许用很多不同的方法对它们进行重新排序. ...
- Entity Framework 4、5 多字段排序
public interface IOrderByExpression<TEntity> where TEntity : class { IOrderedQueryable<TEnt ...
- LINQ 按多个字段排序
多字段排序 添加到 LINQ 查询结果中的Take()扩展方法用于提取前 个结果: private static void Ordering() { var racers = (from r in F ...
- [wordpress]根据自定义字段排序并根据自定义字段查询
Wordpress中,根据根据自定义字段排序和查询是通过WP_Query()方法 如根据 一个自定义的sort的数字字段从小到大进行排序 $args = array( 'post_type' => ...
- Java 多字段排序Comparator(兼容Date,Integer,Doubel,Long)
Java 反射类:ReflexUtil public class ReflexUtil { static Logger logger = LoggerFactory.getLogger(ReflexU ...
- CakePHP下使用paginator需要对多个字段排序的做法
原文:http://blog.csdn.net/kunshan_shenbin/article/details/7644603 CakePHP下使用paginator需要对多个字段排序的做法 2 ...
- angularjs 字段排序 多字段排序
我们用angularjs {{}},ng-model循环绑定数组或对象的内容的时候,有时候会用到排序,有时候可能会有多个字段排序 具体要用到过滤 数据的展现,可以通过ng-repeat实现.当网页解析 ...
随机推荐
- windows python监听文件触发脚本
from watchdog.events import * class FileEventHandler(FileSystemEventHandler): def __init__(self): Fi ...
- 逻辑回归(logic regression)的分类梯度下降
首先明白一个概念,什么是逻辑回归:所谓回归就是拟合,说明x是连续的:逻辑呢?就是True和False,也就是二分类:逻辑回归即使就是指对于二分类数据的拟合(划分). 那么什么是模型呢?模型其实就是函数 ...
- ElasticSearch(六)底层索引控制
相似度算法 涉及到了ES的底层,首先讲一下ES的底层核心,相似度模型,ES的查询和传统的数据库查询最大的差别就在相似度查询(之前讲过,索引存储的最大差别就是讲非结构化数据转化为结构化),ES里面会给文 ...
- beanshell获取响应结果数据
http://blog.csdn.net/lluozh2015/article/details/72834014 [Jmeter]BeanShell断言--数据处理 标签: jmeter 2017-0 ...
- "remote:error:refusing to update checked out branch:refs/heads/master"的解决办法(转)
https://blog.csdn.net/jacolin/article/details/44014775 在使用Git Push代码到数据仓库时,提示如下错误: [remote rejected] ...
- VMware下ubuntu与Windows实现文件共享的方法 (转)
最近安装caffe需要将Windows下文件拷贝到ubuntu16.04下,就进行了共享文件夹的设置,期间遇到一些困难,记录下来,方便以后遇到此类问题不再困惑. (记录只为更好的分享) 言归正传: 1 ...
- java-shiro登录验证
登录验证: LoginController:(LoginController.java) @ResponseBody @RequestMapping(value="/login", ...
- C# 值类型
sbyte:表示-128~127之间的整数. byte:表示0~255之间的整数. short(Int16):-32768~32767之间的整数. ushort:在0~65535之间的整数. int( ...
- java集合之List源码解析
List是java重要的数据结构之一,我们经常接触到的有ArrayList.Vector和LinkedList三种,他们都继承来自java.util.Collection接口,类图如下 接下来,我们对 ...
- C++Builder 网站。记住学习
http://www.ccrun.com/ C++Builder