java set TreeSet详解
Posted yizhizhangblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java set TreeSet详解相关的知识,希望对你有一定的参考价值。
TreeSet 是sortedSet的唯一实现类,正如SortedSet名字暗示,TreeSet可以让集合元素处在排好序的状态。
与HashSet相比,TreeSet还额外提供了以下的方法(列出来,混个脸熟:)
SortedSet subSet(Object fromElement,Object toElement) :返回这个Set的子集合,范围从fromElement(包含)到toElement(不包含)
SortedSet headSet(Object toElement):返回这个Set的子集合,范围小于到toElement的子集合
SortedSet tailSet(Object fromElement):返回这个Set的子集合,范围大于或等于到fromElement的子集合
Object first(): 返回这个Set第一个元素
Object last():返回这个Set最后一个元素
Object lower(Object e):返回小于指定元素的集合里最大的那个元素
Object higher(Object e):返回大于指定元素的集合里最小的那个元素
【以上参考元素都不需要是集合里的】
总结一下,最后四个方法就是找到集合里的第一个,前一个,后一个,最后一个元素。同时前三个就是返回该集合的符合条件的子集合。
package Test01; import java.util.TreeSet; public class TestTreeSet { public static void main(String[] args) { TreeSet num =new TreeSet(); num.add(2); num.add(-2); num.add(10); num.add(9); System.out.println(num); //看出:不是按照添加的顺序来,是数字由小到大排序 System.out.println(num.first()); //看出:数字由小到大排序的第一个 System.out.println("9到12 之间的"+num.subSet(9, 12)); System.out.println("比8小的"+num.headSet(8)); System.out.println("比8大的"+num.tailSet(8)); } }
与hashset采用hash算法决定元素的存储位置,TreeSet采用红黑树的数据结构(待跟进)来存储集合元素。那么他的排序规则是怎么的呢?
自然排序(默认情况)。
定制排序。
待续。。。。
以上是关于java set TreeSet详解的主要内容,如果未能解决你的问题,请参考以下文章
Java集合详解7:HashSet,TreeSet与LinkedHashSet
Java集合详解7:HashSet,TreeSet与LinkedHashSet
Java集合Collection 体系集合详解(ArrayList,LinkedList,HashSet,TreeSet...)
Java集合框架 Set接口实现类--TreeSet概述及使用