标签:范围 package col strong 最大的 obj rgs 不包含 fir
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采用红黑树的数据结构(待跟进)来存储集合元素。那么他的排序规则是怎么的呢?
自然排序(默认情况)。
定制排序。
待续。。。。
标签:范围 package col strong 最大的 obj rgs 不包含 fir
原文地址:https://www.cnblogs.com/yizhizhangBlog/p/9257892.html