• TreeSet使用


    TreeSet使用

    TreeSet是有序的集合,自动按照升序排序。

    特性说明

    • 实现了SortedSet接口,不允许重复的元素。
    • TreeSet里面的元素按照增序排列
    • TreeSet不会按序保存插入的元素,而是按照键值对排序(自动增序)
    • 如果以来自然顺序,那么TreeSet只允许插入相同类型并且可以比较的元素。

    操作说明

    添加元素

    import java.util.TreeSet;
    public class Main {
        public static void main(String[] args) {
            TreeSet<String> ts1 = new TreeSet<String>();
            ts1.add("Geek");
            ts1.add("For");
            ts1.add("Geeks");
            System.out.println(ts1);
        }
    }
    //[For, Geek, Geeks]
    

    访问元素

    import java.util.TreeSet;
    public class Main {
        public static void main(String[] args) {
            TreeSet<String> ts1 = new TreeSet<String>();
            ts1.add("Geek");
            ts1.add("For");
            ts1.add("Geeks");
            System.out.println(ts1);
    
            String check = "Geeks";
            //检查是否check在TreeSet里面
            System.out.println("Contains " + check + " " + ts1.contains(check));
            //打印第一个元素
            System.out.println("First Value " + ts1.first());
            //打印最后一个元素
            System.out.println("Last Value " + ts1.last());
    
            String val = "Geeks";
            //找到比该val值大或者小的元素
            System.out.println("Higher " + ts1.higher(val));
            System.out.println("Lower " + ts1.lower(val));
        }
    }
    /*
    [For, Geek, Geeks]
    Contains Geeks true
    First Value For
    Last Value Geeks
    Higher null
    Lower Geek
     */
    

    删除元素

    import java.util.TreeSet;
    public class Main {
        public static void main(String[] args) {
            TreeSet<String> ts = new TreeSet<String>();
    
            ts.add("Geek");
            ts.add("For");
            ts.add("Geeks");
            ts.add("A");
            ts.add("B");
            ts.add("Z");
    
            System.out.println("Initial TreeSet " + ts);
            ts.remove("B");
            System.out.println("After removing element " + ts);
            //删除元素
            ts.pollFirst();
            System.out.println("After removing first " + ts);
            ts.pollLast();
            System.out.println("After removing last " + ts);
        }
    }
    /*
    Initial TreeSet [A, B, For, Geek, Geeks, Z]
    After removing element [A, For, Geek, Geeks, Z]
    After removing first [For, Geek, Geeks, Z]
    After removing last [For, Geek, Geeks]
     */
    

    使用迭代器访问元素

    
    import java.util.TreeSet;
    public class Main {
        public static void main(String[] args) {
            TreeSet<String> ts = new TreeSet<String>();
    
            ts.add("Geek");
            ts.add("For");
            ts.add("Geeks");
            ts.add("A");
            ts.add("B");
            ts.add("Z");
    
            for (String value : ts) {
                System.out.print(value + ", ");
            }
            System.out.println();
        }
    }
    //A, B, For, Geek, Geeks, Z, 
    
  • 相关阅读:
    (算法)最长重叠线段或区间
    (算法)判断两个区间是否重叠
    (笔试题)洗牌算法
    (笔试题)和一半的组合数
    (笔试题)删除K位数字
    (C语言)memcpy函数原型的实现
    每天坚持10分钟,改变你的人生
    你是哪种层次的程序员?程序员的四种类型
    2012年,软件开发者薪资大调查
    上班族:不要让自己成为老板的“日用品”!
  • 原文地址:https://www.cnblogs.com/realzhaijiayu/p/13549290.html
Copyright © 2020-2023  润新知