📜  Java TreeSet(1)

📅  最后修改于: 2023-12-03 15:15:58.102000             🧑  作者: Mango

Java TreeSet

TreeSetJava 集合框架的一部分,它实现了 SortedSet 接口,元素按照升序排列,并且不允许重复元素存在。

创建 TreeSet

可以通过无参 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 中添加元素 405

访问元素

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 的元素按照升序排列,并且不允许重复元素存在,因此非常适合需要按照顺序组织元素并且无法使用重复元素的场景。