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,