1:实现comparable<list中的对像>接口
例:public class DataObject implements Comparable<DataObject>, Serializable {
2:重写hashcode和equals方法,重写compareTo(要比软的对像,即list中的对像)方法
例:
/** * 因为要按倒序排列,所以大于返回-1,等于返回0,小于返回1 */ public int compareTo(DataObject otherData) { if (this == otherData) return 0; if (otherData == null) return -1; if (this.value > otherData.value) { return -1; } else if (this.value == otherData.value) { return 0; } else { return 1; } }
3:使用Collections.sort(List<DataObject >对像);// 按倒序从大到小排列
第二种方式(可参考:http://www.iteye.com/topic/503812)
import java.util.Comparator; import java.util.Set; import java.util.TreeSet; public class bbb { public static void main(String[] args) { Comparator<Person> comparator = new Comparator<Person>() { public int compare(Person o1, Person o2) { if (o1.getName() == o2.getName()) { return 0; } if (o1.getName() > o2.getName()) { return 1; } if (o1.getName() < o2.getName()) { return -1; } return 0; } }; Set<Person> set = new TreeSet<Person>(comparator); Person p1 = new Person(1); Person p2 = new Person(2); Person p3 = new Person(3); Person p4 = new Person(4); Person p5 = new Person(5); Person p6 = new Person(6); set.add(p6); set.add(p3); set.add(p2); set.add(p5); set.add(p4); set.add(p1); for(Person p:set){ System.out.println(p.getName()); } } } class Person { public int name; public Person() { }; public Person(int name) { this.name = name; } public int getName() { return name; } public void setName(int name) { this.name = name; } }
相关推荐
DataGridView绑定table时可自动点击header排序,当绑定List集合就不能自动排序了,必须通过帮助类实现,这里有详细说明和例子。
从n个数组中取出所有排列组合(Java实现)
实现列表自动排序,将LIST类封装为独立的类,简单易用
* 程序启动时,记录自动按记录名称升序排列;在记录窗格单击列表框某列表头,可以按该列进行记录排序,再次单击可以反向排序。 (2)、程序中的常用快捷键 * Enter :以默认模式连接记录; * Insert :新建记录;...
此方法的实现代码较为简洁,但缺点是 HashSet 会自动排序,这样新集合的数据排序就和原集合不一致了 4:TreeSet去重(无序) 比较遗憾的是,TreeSet 虽然实现起来也比较简单,但它有着和 HashSet 一样的问题,会自动...
* 程序启动时,记录自动按记录名称升序排列;在记录窗格单击列表框某列表头,可以按该列进行记录排序,再次单击可以反向排序。 (2)、程序中的常用快捷键 * Enter :以默认模式连接记录; * Insert :新建记录;...
效果图: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>timeline</title>... list-style: none; } body{ font-fam
重新排序时,如果在滚动视图内,则自动滚动。 使用标记轻松自定义。 IList和SerializedProperty适配器。 订阅以添加/删除项目事件。 支持混合的项目高度。 逐项禁用拖动和/或移除。 插入插入(用于UnityEditor.Drag...
方法一:是利用map的fromkeys来自动过滤重复值,map是基于hash的,大数组的时候应该会比排序快点吧 方法二:是用set(),set是定义集合的,无序,非重复 方法三:是排序后,倒着扫描,遇到已有的元素删之 #!/usr/bin/...
实例056 自动调整组合框的宽度 95 实例057 颜色组合框 96 实例058 多列显示的组合框 98 ListControl控件典型实例 100 实例059 将数据库中的数据表添加到ListControl控件 101 实例060 利用ListControl控件...
5、增加ID发布页智能排列的功能(只限顺序读取),当排在前面的发布页无效时会把有效获取到ID的发布页排列到前面,在以后就会优先获取这个发布页。 1.7.1.4_x64更新:2009-11-07 1、修正内置ID发布页。 2、修正非...
直入主题,今天给大家带来ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,我们知道一般我们对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表我们可以直接从数据库中获取他的汉字拼音,而...
AbstractBoard的子类,实现矩形排列的方式,矩形排列的方块会填充二维数组的每个数组元素,只是把四周留空即可。 4. yinhe.board.impl.GameServiceImpl类: 游戏逻辑的实现类,实现GameService接口。 5. yinhe....
集合就如同数组,用来存储和管理一组特定类型的数据对象,除了基本的数据处理功能,集合直接提供了各种数据结构及算法的实现,如队列、链表、排序等,可以让你轻易地完成复杂的数据操作。在使用数组和集合时要先...
实现表格的拖动排序,自动生成排序后的序号。js原生实现表格行的拖动排序
利用ReorderList控件实现拖拽排序;利用Rating控件实现评分功能;利用Accordion控件实现QQ样式的菜单。 第6章 注册登录。 第8章 留言本。 第9章 分页模块。 第10章 文件上传显示进度条功能。 第11章 相册模块。 第12...
5、增加ID发布页智能排列的功能(只限顺序读取),当排在前面的发布页无效时会把有效获取到ID的发布页排列到前面,在以后就会优先获取这个发布页。 1.7.1.4_x64更新:2009-11-07 1、修正内置ID发布页。 2、修正非...
6.3.2 磁盘I/O请求的排序 6.3.3 磁盘标签 6.4 描述符的管理和服务 6.4.1 打开文件项 6.4.2 管理描述符 6.4.3 异步I/O 6.4.4 文件描述符的上锁机制 6.4.5 描述符上的多路I/O操作 6.4.6 select调用的实现 6.4.7 数据...
order | 用于对结果排序 | str、list、dict 具体连贯操作方法的使用在后续章节中将详细介绍说明。 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,...
5、增加ID发布页智能排列的功能(只限顺序读取),当排在前面的发布页无效时会把有效获取到ID的发布页排列到前面,在以后就会优先获取这个发布页。 1.7.1.4_x64更新:2009-11-07 1、修正内置ID发布页。 2、修正非...