TreeSet:二叉树数据结构,线程不安全,可以对Set集合中的元素进行排序,并且使用compareTo或者compare方法中的来保证元素的唯一性,最终还是用比较(equalps()方法)元素属性。
记住,排序时,当主要条件相同时,一定判断一下次要条件。
比较元素的顺序方法:
1,元素自身具备比较性,实现Comparable接口,覆盖compareTo方法。
2,对元素集合自身具备比较的属性做一个比较器,该比较器将实现了Comparator接口覆盖compare方法的d对象作为参数传递给TreeSet集合的构造函数。
方法一:
import java.io.Serializable; import java.util.Comparator; public class Student implements Comparable<Student>{ private static final long serialVersionUID = 1L; private String id; private String name; private int age; //.....省略了 @Override public int compareTo(Student o) { int i = age > o.getAge() ? 1 : (age == o.getAge() ? 0 : -1); if (i != 0){ return i; } // return i ; int j = name.compareTo(o.getName()); if(j!=0){ return j; } return id.compareTo(o.getId()); } }
方法二:
public class ComparableDemo implements Comparator<Student> { public int compare(Student o1, Student o2) { // 省略 return 0; } }
相关推荐
介绍TreeSet集合用法,向TreeSet集合中添加类的对象,此类需实现Comparable接口,有实例,供需要的朋友下载学习。
毕向东Java基础视频教程-集合框架(TreeSet练习).
HashSet和TreeSet_围墙之外.rar
使用TreeSet和Comparator,编写TreeSetTest2类,要求对TreeSet中的元素1-元素10进行排列,排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列。 如果需要的话可以下载,有写成文章的。有写了一点中文...
treemap treeset hashset hashmap 简要介绍
文档摘录 文档摘录文档摘录文档摘录文档摘录文档摘录文档摘录
Java数据结构--13.Java8数据结构TreeSet 前⾔ ,上⼀篇中对 Set 接⼝最终实现类 HashSet 与 LinkedHashSet 做了介绍与分析,本篇将对另⼀种 Set 接⼝的最终实现类 TreeSet 进⾏ 介绍与分析。 先来看下 TreeSet 完整...
用JAVA集合TreeSet写的求并集算法
TreeSet 是 Java 中的一个集合类,它实现了 SortedSet 接口,并且使用红黑树作为底层数据结构。TreeSet 具有以下主要特点: 排序性:TreeSet 中的元素是有序的,默认按照元素的自然顺序进行排序。或者,可以在创建 ...
Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类...
public int compare(String o1,String o2) { return o1.length()-o2.length();... TreeSet ts = new TreeSet(com); ts.add("string"); ts.add("char"); ts.add("nothing�"); System.out.println(ts);
通过TreeSet类直接对学生成绩实现了排序功能,不必要进行相关额外的排序来实现!
HashSet和TreeSet的区别
图书馆管理 1.描述一个图书馆 2.进书,借书卡办理 3.借书,还书 4.查询某书的借出记录 5.查询借书卡的借出记录 6.显示图书列表(按借出次数排序)
用TreeSet添加字符串,按照字符串首字母字母顺序和字符串长度顺序排序
在TreeSet中添加自定义对象,能更好地帮助理解TreeSet
JAVA集合框架之List、Map、Set之间的选择~小案例分析:http://blog.csdn.net/qq_23473123/article/details/51240739
(TreeSet) s.subSet(608, true, 611, true)
NULL 博文链接:https://elvin-chu.iteye.com/blog/1942033
Class003_TreeSet.java