TreeSet集合内部排序
来源:互联网 发布:高中网络课程哪个好 编辑:程序博客网 时间:2024/06/06 02:00
import java.util.*;/* TreeSet集合内部实现了排序 1. 自定义对象需要实现Comparable接口的compareTo方法,自定义排序规则,return 1(第一个元素大于第二个元素),0(相等),-1(小于) 【正数负数均可,不一定要是1或者-1】 2. 如果元素本身的排序规则不适用,那么自定义比较器实现Comparator接口,并在初始化集合的时传入。 3. 底层数据结构是二叉树,大于放右边,小于放左边*/class TreeSetDemo { public static void main(String[] args) { TreeSet ts = new TreeSet(new Mycompare()); // ts.add(new People("张三",3)); // ts.add(new People("赵一",9)); // ts.add(new People("李四",4)); // ts.add(new People("王五",5)); // ts.add(new People("李四四",4)); ts.add(new People("a02",3)); ts.add(new People("a01",5)); ts.add(new People("a39",9)); ts.add(new People("a40",7)); System.out.println(ts); Iterator i = ts.iterator(); while(i.hasNext()) { People p = (People) i.next(); System.out.println(p.getName() + "....." + p.getAge()); } }}// 元素类实现Comparable接口,复写compareTo方法class People implements Comparable { private String name; private int age; People (String name, int age) { this.name = name; this.age = age; } public String getName() { return this.name; } public int getAge(){ return this.age; } public int compareTo (Object obj) { People p = (People) obj; if (this.age > p.age) { return 1; } else if (this.age == p.age){ return this.name.compareTo(p.name); } return -1; }}// 比较器实现Comparator接口,复写compare方法class Mycompare implements Comparator { public int compare(Object o1, Object o2) { People p1 = (People) o1; People p2 = (People) o2; int num = p1.getName().compareTo(p2.getName()); if (num == 0) { return p1.getAge() - p2.getAge(); } return num; }}
阅读全文
0 0
- TreeSet集合内部排序
- TreeSet集合排序原理
- java集合(TreeSet 定制排序)
- 对TreeSet集合自定义排序
- TreeSet集合,可排序的集合
- 使用TreeSet构造排序的集合
- TreeSet实现集合中对象排序
- TreeSet集合两种排序方式
- 指定排序规则的TreeSet集合
- java集合(TreeSet自然排序)
- 强大的排序集合类TreeSet
- 实现Comparator方式排序一TreeSet集合
- TreeSet集合的两种排序
- Java集合中TreeSet排序浅谈
- 集合框架--TreeSet集合练习之字符串长度排序
- 集合详解之TreeSet集合--排序及API应用
- TreeSet 集合
- TreeSet集合,
- Netty4 学习笔记之一:客户端与服务端通信 demo
- Oracle数据库知识梳理---续(单行函数,多行函数,分组数据,分组过滤)
- 简易JAVA爬虫练习,为新手总结的三种爬虫方法
- offer大作战-JS实现排序算法
- java合成图片并添加文字
- TreeSet集合内部排序
- linux下使用openssl和md5sum加密文件或者字符串
- 超赞的word转pdf在线攻略,谁用谁知道
- AOP面向切面编程
- 自定义滚动条
- FreeRTOS 临界区总结
- myeclipse2014中新建struts运行出错的问题
- c++顺序容器
- Java程序猿必读书籍