Fork me on github

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, 
posted @ 2020-08-23 15:19  zjy4fun  阅读(330)  评论(0编辑  收藏  举报