Java : NavigableSet 示例
Java 中的 NavigableSet (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 NavigableSet<E> 方法的代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
SortedSet 扩展了导航方法,可报告给定搜索目标的最接近匹配项。lower(E)、floor(E)、ceiling(E) 和 higher(E) 方法分别返回小于、小于或等于、大于或等于和大于给定元素的元素,如果不存在这样的元素,则返回 null。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
System.out.println(set); // []
System.out.println(set.isEmpty()); // true
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.size()); // 3
System.out.println(set.lower("a")); // null
System.out.println(set.lower("b")); // a
System.out.println(set.lower("c")); // b
System.out.println(set.higher("a")); // b
System.out.println(set.higher("b")); // c
System.out.println(set.higher("c")); // null
Methods
E ceiling (E e)
返回此集合中大于或等于给定元素的最小元素,如果不存在这样的元素,则返回 null。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("b");
set.add("d");
set.add("f");
System.out.println(set); // [b, d, f]
System.out.println(set.ceiling("a")); // b
System.out.println(set.ceiling("b")); // b
System.out.println(set.ceiling("c")); // d
System.out.println(set.ceiling("d")); // d
System.out.println(set.ceiling("e")); // f
System.out.println(set.ceiling("f")); // f
System.out.println(set.ceiling("g")); // null
Iterator<E> descendingIterator ()
按降序返回此集合中元素的迭代器。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("aaa");
set.add("bbb");
set.add("ccc");
System.out.println(set); // [aaa, bbb, ccc]
final var iterator = set.descendingIterator();
System.out.println("-- forEachRemaining --");
iterator.forEachRemaining(s -> {
System.out.println(s);
});
// Result
// ↓
//-- forEachRemaining --
//ccc
//bbb
//aaa
NavigableSet<E> descendingSet ()
返回此集合中包含的元素的反向顺序视图。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
final var descSet = set.descendingSet();
System.out.println(descSet); // [c, b, a]
set.add("d");
System.out.println(set); // [a, b, c, d]
System.out.println(descSet); // [d, c, b, a]
descSet.remove("b");
System.out.println(set); // [a, c, d]
System.out.println(descSet); // [d, c, a]
E floor (E e)
返回此集合中小于或等于给定元素的最大元素,如果不存在这样的元素,则返回 null。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("b");
set.add("d");
set.add("f");
System.out.println(set); // [b, d, f]
System.out.println(set.floor("a")); // null
System.out.println(set.floor("b")); // b
System.out.println(set.floor("c")); // b
System.out.println(set.floor("d")); // d
System.out.println(set.floor("e")); // d
System.out.println(set.floor("f")); // f
System.out.println(set.floor("g")); // f
SortedSet<E> headSet (E toElement)
返回此集合中元素严格小于 toElement 的部分视图。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("x");
set.add("y");
set.add("z");
System.out.println(set); // [x, y, z]
final var headSet = set.headSet("z");
System.out.println(headSet); // [x, y]
set.add("a");
System.out.println(set); // [a, x, y, z]
System.out.println(headSet); // [a, x, y]
headSet.remove("x");
System.out.println(set); // [a, y, z]
System.out.println(headSet); // [a, y]
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.headSet("a")); // []
System.out.println(set.headSet("b")); // [a]
System.out.println(set.headSet("c")); // [a, b]
System.out.println(set.headSet("d")); // [a, b, c]
NavigableSet<E> headSet (E toElement, boolean inclusive)
返回此集合中元素小于(或等于,如果包含为真)toElement 的部分视图。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("x");
set.add("y");
set.add("z");
System.out.println(set); // [x, y, z]
final var headSet = set.headSet("y", true);
System.out.println(headSet); // [x, y]
set.add("a");
System.out.println(set); // [a, x, y, z]
System.out.println(headSet); // [a, x, y]
headSet.remove("x");
System.out.println(set); // [a, y, z]
System.out.println(headSet); // [a, y]
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.headSet("a")); // []
System.out.println(set.headSet("a", true)); // [a]
System.out.println(set.headSet("b")); // [a]
System.out.println(set.headSet("b", true)); // [a, b]
System.out.println(set.headSet("c")); // [a, b]
System.out.println(set.headSet("c", true)); // [a, b, c]
System.out.println(set.headSet("d")); // [a, b, c]
System.out.println(set.headSet("d", true)); // [a, b, c]
E higher (E e)
返回此集合中严格大于给定元素的最小元素,如果不存在这样的元素,则返回 null。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("b");
set.add("d");
set.add("f");
System.out.println(set); // [b, d, f]
System.out.println(set.higher("a")); // b
System.out.println(set.higher("b")); // d
System.out.println(set.higher("c")); // d
System.out.println(set.higher("d")); // f
System.out.println(set.higher("e")); // f
System.out.println(set.higher("f")); // null
System.out.println(set.higher("g")); // null
Iterator<E> iterator ()
按升序返回此集合中元素的迭代器。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("aaa");
set.add("bbb");
set.add("ccc");
System.out.println(set); // [aaa, bbb, ccc]
final var iterator = set.iterator();
System.out.println("-- forEachRemaining --");
iterator.forEachRemaining(s -> {
System.out.println(s);
});
// Result
// ↓
//-- forEachRemaining --
//aaa
//bbb
//ccc
E lower (E e)
返回此集合中严格小于给定元素的最大元素,如果不存在这样的元素,则返回 null。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("b");
set.add("d");
set.add("f");
System.out.println(set); // [b, d, f]
System.out.println(set.lower("a")); // null
System.out.println(set.lower("b")); // null
System.out.println(set.lower("c")); // b
System.out.println(set.lower("d")); // b
System.out.println(set.lower("e")); // d
System.out.println(set.lower("f")); // d
System.out.println(set.lower("g")); // f
E pollFirst ()
检索并删除第一个(最低)元素,如果此集合为空则返回 null(可选操作)。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.pollFirst()); // a
System.out.println(set); // [b, c]
System.out.println(set.pollFirst()); // b
System.out.println(set); // [c]
System.out.println(set.pollFirst()); // c
System.out.println(set); // []
System.out.println(set.pollFirst()); // null
E pollLast ()
检索并删除最后一个(最高)元素,如果此集合为空则返回 null(可选操作)。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.pollLast()); // c
System.out.println(set); // [a, b]
System.out.println(set.pollLast()); // b
System.out.println(set); // [a]
System.out.println(set.pollLast()); // a
System.out.println(set); // []
System.out.println(set.pollLast()); // null
default E removeFirst ()
删除并返回此集合的第一个元素(可选操作)。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("aaa");
set.add("bbb");
set.add("ccc");
System.out.println(set); // [aaa, bbb, ccc]
System.out.println(set.removeFirst()); // aaa
System.out.println(set); // [bbb, ccc]
System.out.println(set.removeFirst()); // bbb
System.out.println(set); // [ccc]
System.out.println(set.removeFirst()); // ccc
System.out.println(set); // []
final NavigableSet<String> set = new TreeSet<>();
System.out.println(set); // []
try {
var _ = set.removeFirst();
} catch (NoSuchElementException e) {
System.out.println("NoSuchElementException!");
}
// Result
// ↓
//NoSuchElementException!
default E removeLast ()
删除并返回此集合的最后一个元素(可选操作)。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("aaa");
set.add("bbb");
set.add("ccc");
System.out.println(set); // [aaa, bbb, ccc]
System.out.println(set.removeLast()); // ccc
System.out.println(set); // [aaa, bbb]
System.out.println(set.removeLast()); // bbb
System.out.println(set); // [aaa]
System.out.println(set.removeLast()); // aaa
System.out.println(set); // []
final NavigableSet<String> set = new TreeSet<>();
System.out.println(set); // []
try {
var _ = set.removeLast();
} catch (NoSuchElementException e) {
System.out.println("NoSuchElementException!");
}
// Result
// ↓
//NoSuchElementException!
default NavigableSet<E> reversed ()
返回此集合的反向排序视图。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("aaa");
set.add("bbb");
set.add("ccc");
System.out.println(set); // [aaa, bbb, ccc]
final var reversedSet = set.reversed();
System.out.println(reversedSet); // [ccc, bbb, aaa]
System.out.println(reversedSet.reversed()); // [aaa, bbb, ccc]
NavigableSet<E> subSet (E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
返回此集合中元素范围从 fromElement 到 toElement 的部分视图。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("x");
set.add("y");
set.add("z");
System.out.println(set); // [x, y, z]
final var subSet = set.subSet("a", true, "y", true);
System.out.println(subSet); // [x, y]
set.add("a");
System.out.println(set); // [a, x, y, z]
System.out.println(subSet); // [a, x, y]
subSet.remove("x");
System.out.println(set); // [a, y, z]
System.out.println(subSet); // [a, y]
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.subSet("a", true, "c", true)); // [a, b, c]
System.out.println(set.subSet("a", true, "c", false)); // [a, b]
System.out.println(set.subSet("a", false, "c", true)); // [b, c]
System.out.println(set.subSet("a", false, "c", false)); // [b]
System.out.println(set.subSet("a", true, "a", false)); // []
System.out.println(set.subSet("a", true, "b", false)); // [a]
System.out.println(set.subSet("a", true, "c", false)); // [a, b]
System.out.println(set.subSet("a", true, "d", false)); // [a, b, c]
System.out.println(set.subSet("a", true, "d", false)); // [a, b, c]
System.out.println(set.subSet("b", true, "d", false)); // [b, c]
System.out.println(set.subSet("c", true, "d", false)); // [c]
System.out.println(set.subSet("d", true, "d", false)); // []
SortedSet<E> subSet (E fromElement, E toElement)
返回此集合的部分视图,其元素范围从 fromElement(包括)到 toElement(不包括)。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("x");
set.add("y");
set.add("z");
System.out.println(set); // [x, y, z]
final var subSet = set.subSet("a", "z");
System.out.println(subSet); // [x, y]
set.add("a");
System.out.println(set); // [a, x, y, z]
System.out.println(subSet); // [a, x, y]
subSet.remove("x");
System.out.println(set); // [a, y, z]
System.out.println(subSet); // [a, y]
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.subSet("a", "a")); // []
System.out.println(set.subSet("a", "b")); // [a]
System.out.println(set.subSet("a", "c")); // [a, b]
System.out.println(set.subSet("a", "d")); // [a, b, c]
System.out.println(set.subSet("a", "d")); // [a, b, c]
System.out.println(set.subSet("b", "d")); // [b, c]
System.out.println(set.subSet("c", "d")); // [c]
System.out.println(set.subSet("d", "d")); // []
SortedSet<E> tailSet (E fromElement)
返回此集合中元素大于或等于 fromElement 的部分视图。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
final var tailSet = set.tailSet("b");
System.out.println(tailSet); // [b, c]
set.add("d");
System.out.println(set); // [a, b, c, d]
System.out.println(tailSet); // [b, c, d]
tailSet.remove("b");
System.out.println(set); // [a, c, d]
System.out.println(tailSet); // [c, d]
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.tailSet("a")); // [a, b, c]
System.out.println(set.tailSet("b")); // [b, c]
System.out.println(set.tailSet("c")); // [c]
System.out.println(set.tailSet("d")); // []
NavigableSet<E> tailSet (E fromElement, boolean inclusive)
返回此集合中元素大于(或等于,如果 inclusive 为真)fromElement 的部分视图。 (机器翻译)
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
final var tailSet = set.tailSet("a", false);
System.out.println(tailSet); // [b, c]
set.add("d");
System.out.println(set); // [a, b, c, d]
System.out.println(tailSet); // [b, c, d]
tailSet.remove("b");
System.out.println(set); // [a, c, d]
System.out.println(tailSet); // [c, d]
final NavigableSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(set.tailSet("a")); // [a, b, c]
System.out.println(set.tailSet("a", false)); // [b, c]
System.out.println(set.tailSet("b")); // [b, c]
System.out.println(set.tailSet("b", false)); // [c]
System.out.println(set.tailSet("c")); // [c]
System.out.println(set.tailSet("c", false)); // []
Methods declared in Collection
Methods declared in Iterable
Methods declared in Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
请参阅下面的链接。