TreeSet和TreeMap排序

原创 2016年08月29日 23:11:48

Set接口:HashSet  HashMap元素必须重写equals和hashcode方法

去重:比较==0即重复

TreeMap:要求key可以排序或提供key比较器

public TreeMap(Comparator<? super K> comparator)

TreeSet:确保元素实体可以排序或提供比较器  

public TreeSet(Comparator<? super E> comparator)


在添加元素的时候进行排序,所以使用时不要修改数据,数据使用final修饰,并初始化值

1)如果元素可以排序 ,需要实现java.lang.Comparable接口+重写comparTo方法

使用时选择空构造器 例如:new TreeSet()

2)如果元素不可以排序需要额外的排序业务类  ,实现java.util.Comparator接口+重写compare方法

使用时选择构造器 例如:TreeSet(Comparator<? super E> comparator)




版权声明:本文为博主原创文章,未经博主允许不得转载。

TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

TreeSet要求存放的对象所属的类必须实现Comparable接口,该接口提供了比较元素的compareTo()方法,当插入元素时会回调该方法比较元素的大小。TreeMap要求存放的键值对映射的键必...
  • u010339647
  • u010339647
  • 2016年07月23日 21:39
  • 1596

java笔试题(二)

51、类ExampleA 继承Exception,类ExampleB 继承ExampleA。 有如下代码片断: try{     throw new ExampleB("b") }catch(...
  • xq2768637066
  • xq2768637066
  • 2016年03月09日 13:43
  • 1227

TreeSet和TreeMap实现排序

TreeSet TreeSet类是Set接口的一个实现类,确保元素实体可以排序,不同于HashSet(也是Set接口的实现类),TreeSet不需要重写hashcode和equals方法。 Tre...
  • Bazingaea
  • Bazingaea
  • 2016年04月17日 14:25
  • 537

Java辨别 TreeMap和TreeSet的区别与联系

TreeMap和TreeSet的区别与联系
  • HZ_LIZX
  • HZ_LIZX
  • 2017年02月14日 11:09
  • 1080

Java TreeMap/TreeSet

首先要说明的是,TreeMap仍然是Map,而不是Tree。同样的,TreeSet仍然是Set,而不是Tree。也就是说TreeMap和TreeSet不能当成树来使用,只是它们的底层是使用红黑树来实现...
  • zhangzeyuaaa
  • zhangzeyuaaa
  • 2015年01月05日 14:57
  • 1196

深入TreeMap和TreeSet集合

hashSet底层则实际是一个hashMap,而TreeSet底层则采用NavigableMap这个接口来保存TreeSet集合,而实际上NavigableMap只是一个接口,实际上面TreeSet还...
  • u011230322
  • u011230322
  • 2016年09月09日 11:11
  • 418

往TreeMap和TreeSet里添加自定义对象的两种比较方法

这个问题之前有点乱,下面我们详细来说一下首先我们先从set说起,set集合的特点就是不可以存重复的数据,那么我们只需要equals方法就可以,那么需要在公司类中重写equals方法。如果补充协议equ...
  • melissa_heixiu
  • melissa_heixiu
  • 2016年08月19日 21:18
  • 488

深入源码分析TreeSet和TreeMap

分析TreeMap源码
  • canot
  • canot
  • 2016年04月26日 00:02
  • 4785

java中的几种泛型类——HashSet、HashMap、TreeSet、TreeMap,遍历map,排序,HashTable比较

HashSet HashSet泛型类在数据组织上类似于数学上的集合,可以进行“交”、“并”、“差”等运算。 HashSet泛型类创建的对象称为集合,如:     HashSet set =  H...
  • u013159040
  • u013159040
  • 2015年05月08日 09:17
  • 1356

ArrayList、LinkedList、Vector、HashSet、Treeset、HashMap、TreeMap的适用场景

ArrayList(适合查询) ArrayList是实现了基于动态数组的数据结构,地址连续,一旦数据存储好了,查询操作效率会比较高 LinkedList(适合增删) LinkedList基于...
  • jyxmust
  • jyxmust
  • 2017年04月24日 19:47
  • 568
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TreeSet和TreeMap排序
举报原因:
原因补充:

(最多只允许输入30个字)