一. TreeSet
TreeSet是一种集合,与HashSet不同,他有序,即TreeSet中的数据有序不重复. TreeSet实现了一个名为SortedSet的接口。 由于TreeSet是SortedSet的子类,因此TreeSet具有SortedSet的通用方法。 有关具体情况的详细信息,请参阅SortedSet
二. SortedSet
SortedSet是一个有序的接口,集合中的元素有两种排序规则,一种是Comparable (自然排序),另一种是Comparator。 这个界面值得注意的是
SortedSetsubset(efromElement,E toElement ) :返回值是“fromelement,toelement]”的sortedset集合,如果集合正常,则返回
相反,从元素到元素应该是从大到小的顺序。 也就是说,参数的顺序应该与集合的排列顺序相同。 否则,会抛出IllegalArgumentException异常。
sortedsetheadset(etoelement; 是由上一个已排序元素组成的集合,集合中不包含toElement。
sortedsettailset (要素; 返回包含fromElement的排序编号末尾的元素的集合
E first ) )返回第一个元素(最小的元素)
E last ) )返回最后一个元素(最大的元素)
//自然排序,从小到大排序
SortedSet sortedSet=new TreeSet (;
sortedset.add(1;
sortedset.add(5;
sortedset.add(8;
sortedset.add(10;
sortedset.add(15;
system.out.println (固态集); //[ 1,5,8,10,15 ]
Integer first=sortedSet.first (;
system.out.println(first ); //1
Integer last=sortedSet.last (;
system.out.println(last ); //15
sortedsetsubset=sorted set.subset (5,10;
system.out.println(subset ); //[ 5,8 ]
sortedsettailset=sorted set.tail set (8;
系统. out.println (tail set; //[ 8,10,15 ]
sortedsetheadset=sorted set.headset (8;
system.out.println(headset ); //[ 1,5 ]
//从集合排序大小到欢呼声的大树sorted set=new treeset (new comparator () ) )。
@ overridepublicintcompare (integero 1,Integer o2 ) {return o2-o1;
}
);
sortedset.add(1;
sortedset.add(5;
sortedset.add(8;
sortedset.add(10;
sortedset.add(15;
system.out.println (固态集); //[ 15,10,8,5,1 ]
Integer first=sortedSet.first (;
system.out.println(first ); //15
Integer last=sortedSet.last (;
system.out.println(last ); //1
//如果是逆序,subSet方法的参数也应该是逆序的。 否则,存在异常//sortedsetsubset=sorted set.subset (5,10 ); //Java.lang.illegalargumentexception : fromkeytokey
sortedsetsubset=sorted set.subset (10,5;
system.out.println(subset ); //[ 10,8 ]
sortedsettailset=sorted set.tail set (8;
系统. out.println (tail set; //[ 8,5,1 ]
sortedsetheadset=sorted set.headset (8;
system.out.println(headset ); //[ 15,10 ]