Java中TreeSet的基本操作
TreeSet有四种种构造函数可以初始化
在代码中主要列出了常用的三种:
构造方法摘要 | |
---|---|
TreeSet() 构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。 |
|
TreeSet(Collection<? extends E> c) 构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。 |
|
TreeSet(Comparator<? super E> comparator) 构造一个新的空 TreeSet,它根据指定比较器进行排序。 |
|
TreeSet(SortedSet<E> s) 构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | package test; import java.util.TreeSet; import java.util.Iterator; import java.util.ArrayList; import java.util.Arrays; //TreeSet是一个不包含重复值的升序集合 public class test7 { public static void main(String[] args) { //集合初始化方法1 System.out.println( "集合初始化方法1" ); TreeSet<Integer> set= new TreeSet<>(); System.out.println(set.add( 1 )); System.out.println(set.add( 1 )); set.add( 3 ); set.add( 10 ); set.add( 2 ); Iterator <Integer>ite =set.iterator(); while (ite.hasNext()){ System.out.println(ite.next()); } //集合初始化方法1,另外一种构造方法 System.out.println( "集合初始化方法2" ); ArrayList <Integer> arr= new ArrayList<Integer>(Arrays.asList( new Integer[]{ 1 , 2 , 6 , 7 , 2 , 8 })); TreeSet<Integer> set2= new TreeSet<>(arr); Iterator <Integer>ite1 =set2.iterator(); while (ite1.hasNext()){ System.out.println(ite1.next()); } System.out.println( "输出第一个值" ); System.out.println(set.first()); System.out.println( "输出最后一个值" ); System.out.println(set.last()); // 返回此 set 中严格大于给定元素的最小元素 System.out.println(set.higher( 3 )); // 返回此 set 中大于等于给定元素的最小元素; System.out.println(set.ceiling( 3 )); //// 返回此 set 中严格小于给定元素的最小元素; System.out.println(set.lower( 3 )); // 返回此 set 中小于等于给定元素的最小元素; System.out.println(set.floor( 3 )); // SortedSet<E> subSet(E fromElement, E toElement) 返回此 set 的部分视图,其元素从 fromElement(包括)到 toElement(不包括)。 TreeSet<Integer>subset= new TreeSet<>(set.subSet( 0 , 3 )); //输出前两个数 Iterator <Integer>it =subset.iterator(); while (it.hasNext()){ System.out.println(it.next()); } // SortedSet<E> headSet(E toElement) 返回此 set 的部分视图,其元素严格小于 toElement。 System.out.println( "headSet" ); TreeSet<Integer>headset= new TreeSet<>(set.headSet( 3 )); //输出小于3的子集合 Iterator <Integer>it2 =headset.iterator(); while (it2.hasNext()){ System.out.println(it2.next()); } //SortedSet<E> tailSet(E fromElement) 返回此 set 的部分视图,其元素大于等于 fromElement。 System.out.println( "tailSet" ); System.out.println( "TreeSet的第三种初始化方法" ); TreeSet<Integer>tailset= new TreeSet<>(set.tailSet( 3 )); //输出大于等于3的子集合 Iterator <Integer>it3 =tailset.iterator(); while (it3.hasNext()){ System.out.println(it3.next()); } // E pollFirst()获取并移除第一个(最低)元素;如果此 set 为空,则返回 null。pollLsat()移除最后一个数 System.out.println( "pollfist" ); System.out.println(set.pollFirst()); //size()集合大小 System.out.println( "size()" ); System.out.println(set.size()); // boolean contains(Object o) System.out.println( "contains()" ); System.out.println(set.contains( 1 )); //isEmpty() System.out.println( "isEmpty()" ); System.out.println(set.isEmpty()); //clear() System.out.println( "clear()" ); set.clear(); System.out.println( "是否清空集合:" +set.isEmpty()); } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步