java TreeSet中的比较器
来源:互联网 发布:吉隆坡双子塔网络售票 编辑:程序博客网 时间:2024/04/29 15:51
当元素自身不具备比较性,或者具备的比较性不是所需要的。
这时需要让容器自身具备比较性。
定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。
当两种排序都存在时,以比较器为主。
————摘自《毕向东25天》
这时需要让容器自身具备比较性。
定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。
当两种排序都存在时,以比较器为主。
定义一个类,实现Comparator接口,覆盖compare方法。
import java.util.*;class Student implements Comparable//该接口强制让学生具备比较性。{private String name;private int age;Student(String name,int age){this.name = name;this.age = age;}public int compareTo(Object obj){//return 0;if(!(obj instanceof Student))throw new RuntimeException("不是学生对象");Student s = (Student)obj;//System.out.println(this.name+"....compareto....."+s.name);if(this.age>s.age)return 1;if(this.age==s.age){return this.name.compareTo(s.name);}return -1;/**/}public String getName(){return name;}public int getAge(){return age;}}class TreeSetDemo2 {public static void main(String[] args) {TreeSet ts = new TreeSet();ts.add(new Student("lisi02",22));ts.add(new Student("lisi02",21));ts.add(new Student("lisi007",20));ts.add(new Student("lisi09",19));ts.add(new Student("lisi06",18));ts.add(new Student("lisi06",18));ts.add(new Student("lisi007",29));//ts.add(new Student("lisi007",20));//ts.add(new Student("lisi01",40));Iterator it = ts.iterator();while(it.hasNext()){Student stu = (Student)it.next();System.out.println(stu.getName()+"..."+stu.getAge());}}}class MyCompare implements Comparator{public int compare(Object o1,Object o2){Student s1 = (Student)o1;Student s2 = (Student)o2;int num = s1.getName().compareTo(s2.getName());if(num==0){return new Integer(s1.getAge()).compareTo(new Integer(s2.getAge()));/*if(s1.getAge()>s2.getAge())return 1;if(s1.getAge()==s2.getAge())return 0;return -1;*/}return num;}}
————摘自《毕向东25天》
0 0
- java TreeSet中的比较器
- TREESET比较器比较
- TreeSet比较器
- TreeSet (比较器)
- TreeSet比较器
- java中的TreeSet集合
- java基础—自定义一个比较器,对TreeSet 集合中的元素按指定方法来排序(java集合六)
- Java基础15:treeset;排序方法-比较器;泛型;
- TreeSet比较器的用法
- TreeSet 使用 Comparator 比较器
- TreeSet使用中的两种比较方式
- HashSet与TreeSet中的等同性比较
- Java中的HashSet和TreeSet
- java中的Iterator 和TreeSet
- java中的几种泛型类——HashSet、HashMap、TreeSet、TreeMap,遍历map,排序,HashTable比较
- TreeSet 下创建比较器进行比较
- Java集合类HashSet、TreeSet比较
- 浅谈java中的TreeSet中的排序方式
- Libgdx之Music Sound 音效
- 一图总结C++中关于指针的那些事
- Java基础--类的定义及用法
- 【Linux多线程同步】条件变量
- 前端 Html笔记3
- java TreeSet中的比较器
- Axure界面简单了解
- Windows7环境,登录samba服务器后如何注销
- MySQL
- 文件工具类 FileUtil.java 主要获取文件的Cache目录
- 二叉树中和为某一值的路径 java实现
- Node.js 文件模块(fs)模块介绍
- BestCoder #80 - 1002 快速乘法取模
- mac iterm2有什么酷功能?