📅  最后修改于: 2023-12-03 15:15:58.102000             🧑  作者: Mango
TreeSet
是 Java
集合框架的一部分,它实现了 SortedSet
接口,元素按照升序排列,并且不允许重复元素存在。
可以通过无参 TreeSet
构造函数创建一个空的 TreeSet
,如下所示:
TreeSet<Integer> treeSet = new TreeSet<>();
也可以通过将其他集合传递给 TreeSet
构造函数来创建一个包含其他集合元素的 TreeSet
,例如:
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);
list.add(2);
TreeSet<Integer> treeSet = new TreeSet<>(list);
使用 add()
方法向 TreeSet
中添加元素,例如:
treeSet.add(4);
treeSet.add(0);
treeSet.add(5);
以上操作将在 TreeSet
中添加元素 4
、0
、5
。
TreeSet
支持多种方式访问元素,例如:
first()
方法返回 TreeSet
中的第一个元素。last()
方法返回 TreeSet
中的最后一个元素。higher(E e)
方法返回在 TreeSet
中比给定元素大的最小元素。lower(E e)
方法返回在 TreeSet
中比给定元素小的最大元素。例如:
System.out.println(treeSet.first()); // 输出 0
System.out.println(treeSet.last()); // 输出 5
System.out.println(treeSet.higher(2)); // 输出 3
System.out.println(treeSet.lower(2)); // 输出 0
使用 remove()
方法从 TreeSet
中删除元素,例如:
treeSet.remove(4);
以上操作将在 TreeSet
中删除元素 4
。
可以使用 for-each
循环遍历 TreeSet
中的元素,例如:
for (Integer i : treeSet) {
System.out.print(i + " "); // 输出 0 1 2 3 5
}
也可以使用迭代器循环遍历元素,例如:
Iterator<Integer> iterator = treeSet.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next() + " "); // 输出 0 1 2 3 5
}
TreeSet
是一个强大的集合工具,具有访问、添加、删除、遍历等多种操作元素的方式。TreeSet
的元素按照升序排列,并且不允许重复元素存在,因此非常适合需要按照顺序组织元素并且无法使用重复元素的场景。