美文网首页
TreeSet集合API方法实例演示

TreeSet集合API方法实例演示

作者: TedBear_ | 来源:发表于2020-07-11 19:42 被阅读0次

    TreeSet

    TreeSet是NavigableSet接口的实现类,使用二叉树的数据结构维护元素的顺序。底层数据结构是红黑树。

    API方法实例

    add

    @Test
    public void add() {
        //add: 添加一条数据,不可重复
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(2);
        treeSet.add(1);
        System.out.println("treeSet = " + treeSet);
    }
    

    addAll

    @Test
    public void addAll() {
        //addAll: 根据Collection集合批量添加数据
        TreeSet<Object> treeSet = new TreeSet<>();
        Collection<Object> collection = new TreeSet<>();
        collection.add("addAll");
        collection.add("addAll");
        //返回为true
        System.out.println(treeSet.addAll(collection));
    }
    

    ceiling

    @Test
    public void ceiling() {
        //ceiling: 判断是否存在指定元素,不存在则返回null
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("ceiling");
        System.out.println(treeSet.ceiling("ceiling"));
    }
    

    clear

    @Test
    public void clear() {
        //clear: 清除集合所有元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("clear");
        treeSet.clear();
        System.out.println("treeSet = " + treeSet);
    }
    

    Clone

    @Test
    public void Clone() {
        //clone: 复制打印集合所有元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("clone");
        System.out.println("treeSet.clone() = " + treeSet.clone());
    }
    

    contains

    @Test
    public void contains() {
        //contains: 判断集合是否存在指定的元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("contains");
        // 存在该元素,打印为true
        System.out.println(treeSet.contains("contains"));
    }
    

    descendingIterator

    @Test
    public void descendingIterator() {
        //descendingIterator: 返回降序的迭代器
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("descendingIterator2");
        treeSet.add("descendingIterator3");
        Iterator<Object> descendingIterator = treeSet.descendingIterator();
        //使用迭代器方法进行过降序遍历
        descendingIterator.forEachRemaining(System.out::println);
    }
    

    descendingSet

    @Test
    public void descendingSet() {
        //descendingSet: 返回集合的升序视图
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("descendingSet2");
        treeSet.add("descendingSet1");
        NavigableSet<Object> descendingSet = treeSet.descendingSet();
        //按照升序遍历
        descendingSet.descendingIterator().forEachRemaining(System.out :: println);
    }
    

    first

    @Test
    public void first() {
        //first: 返回集合数值最高的数值
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(1);
        treeSet.add(2);
        Object first = treeSet.first();
        //打印结果为1
        System.out.println(first);
    }
    

    floor

    @Test
    public void floor() {
        //floor: 返回给定的最大元素,不存在则返回null
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(1);
        treeSet.add(2);
        System.out.println("treeSet.floor(1) = " + treeSet.floor(1));
    }
    

    headSet

    @Test
    public void headSet() {
        //headSet: 利用参数匹配判断集合的值
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(1);
        treeSet.add(2);
        //3这个数字大于集合里的值,因此可以打印出集合里的所有值
        System.out.println( treeSet.headSet(3));
    }
    @Test
    

    headSet(E toElement, boolean inclusive)

    @Test
    public void headSetArgs() {
        //headSet(E toElement, boolean inclusive): 利用参数匹配判断集合里的值
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(1);
        //参数为2,由于第二个参数为true,表示可以和集合元素相等或大于,可以遍历集合的元素,为false则不能
        System.out.println("treeSet.headSet(1,true) = " + treeSet.headSet(2, true));
    }
    

    higher

    @Test
    public void higher() {
        //higher: 利用参数匹配集合元素,小于集合元素的值才可显示内容
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(5);
        //给定的参数值内容小于集合的数值,因此打印集合的数据
        System.out.println(treeSet.higher(4));
    }
    

    isEmpty

    @Test
    public void isEmpty() {
        //isEmpty: 判断集合是否为空,空则返回true,否则false
        TreeSet<Object> treeSet = new TreeSet<>();
        //没有添加数据,返回为true
        System.out.println("linkedHashSet.isEmpty() = " + treeSet.isEmpty());
    }
    

    iterator

    @Test
    public void iterator() {
        //iterator: 返回一个迭代器接口,用于遍历集合
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("iterator");
        Iterator<Object> iterator = treeSet.iterator();
        iterator.forEachRemaining(System.out :: println);
    }
    

    last

    @Test
    public void last() {
        //last: 返回集合最大的一个元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(1);
        treeSet.add(2);
        //打印结果为2
        System.out.println("treeSet.last() = " + treeSet.last());
    }
    

    lower

    @Test
    public void lower() {
        //lower: 根据参数匹配集合元素,给定的参数必须比集合数据大才能显示结果
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(1);
        //2比集合的数据大,可以显示集合的数据
        System.out.println(treeSet.lower(2));
    }
    

    pollLast

    @Test
    public void pollLast() {
        //pollLast: 获取并移除集合第一个元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("pollLast1");
        treeSet.add("pollLast2");
        System.out.println("treeSet.pollLast() = " + treeSet.pollLast());
    }
    

    remove

    @Test
    public void remove() {
        //remove: 移除集合指定元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add("remove");
        System.out.println(treeSet.remove("remove"));
    }
    

    size

    @Test
    public void size() {
        //size: 返回集合数据长度
        TreeSet<Object> treeSet = new TreeSet<>();
        //没有元素返回为0
        System.out.println("treeSet.size() = " + treeSet.size());
    }
    

    subSet(E fromElement, E toElement)

    @Test
    public void subSetTwoArgs() {
        //subSet(E fromElement, E toElement) : 根据指定参数区间获取集合元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(0);
        treeSet.add(1);
        treeSet.add(2);
        //返回1-2索引值之间的数据,打印为1
        System.out.println("treeSet.subSet(1,2) = " + treeSet.subSet(1, 2));
    }
    

    subSet(四个参数)

    @Test
    public void subSetFourArgs() {
        //subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive): 根据指定参数区间获取集合元素
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(0);
        treeSet.add(1);
        treeSet.add(2);
        //返回1-2索引值的数据,两个参数都为true是打印1-2的索引值,都为false则都不打印
        System.out.println("treeSet.subSet(1,false,2,true) = " + treeSet.subSet(1, true, 2, true));
    }
    

    tailSet(E fromElement)

    @Test
    public void tailSetOneArg() {
        //tailSet(E fromElement): 返回集合数据,参数需要小于集合数据
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(1);
        // 参数小于集合数据,可以打印集合
        System.out.println("treeSet.tailSet(0) = " + treeSet.tailSet(0));
    }
    

    tailSet(E fromElement, boolean inclusive)

    @Test
    public void tailSetTwoArgs() {
        //tailSet(E fromElement, boolean inclusive): 根据参数匹配集合,小于则返回集合的值,参数为true则表示或等于s
        TreeSet<Object> treeSet = new TreeSet<>();
        treeSet.add(3);
        //参数和集合的值相等并且为true,可以打印集合参数
        System.out.println("treeSet.tailSet(3,true) = " + treeSet.tailSet(3, true));
    }
    

    相关文章

      网友评论

          本文标题:TreeSet集合API方法实例演示

          本文链接:https://www.haomeiwen.com/subject/fcaicktx.html