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
请参阅下面的链接。
Methods declared in SortedSet
相关文章
- API 示例