Java 导航集
Java集合教程 - Java导航集
导航集是一个有序集,允许您使用其子集在各种方式。
NavigableSet
表示Java集合中的可导航集合框架。 NavigableSet
接口继承了SortedSet接口和扩展 SortedSet
。
NavigableSet
界面可以以相反的顺序导航集合与SortedSet中定义的顺序相比。
headSet()
, tailSet()
和 subSet()
从 NavigableSet
接口接受布尔标志以将元素包括在子集边界的开始或结束处。
lower(),floor(),higher()和ceiling()从NavigableSet接口搜索基于搜索条件的元素。
lower()
方法返回小于指定元素的最大元素。
floor()
方法返回 NavigableSet
中小于或等于指定元素的最大元素。
higher()
方法返回最小元素大于指定元素的 NavigableSet
。
ceiling()
方法返回 NavigableSet
中大于或等于指定元素的最小元素。
pollFirst()
和 pollLast()
分别检索和删除 NavigableSet
的第一个和最后一个元素。 如果NavigableSet为空,它们返回null。
TreeSet
类是 NavigableSet
接口的实现类之一。我们可以使用 TreeSet
作为集合,排序集合和可导航集合。
例子
import java.util.NavigableSet; import java.util.TreeSet; public class Main { public static void main(String[] args) { NavigableSet<Integer> ns = new TreeSet<>(); ns.add(0); ns.add(1); ns.add(2); ns.add(3); ns.add(4); ns.add(5); ns.add(6); // Get a reverse view of the navigable set NavigableSet<Integer> reverseNs = ns.descendingSet(); // Print the normal and reverse views System.out.println("Normal order: " + ns); System.out.println("Reverse order: " + reverseNs); NavigableSet<Integer> threeOrMore = ns.tailSet(3, true); System.out.println("3 or more: " + threeOrMore); System.out.println("lower(3): " + ns.lower(3)); System.out.println("floor(3): " + ns.floor(3)); System.out.println("higher(3): " + ns.higher(3)); System.out.println("ceiling(3): " + ns.ceiling(3)); System.out.println("pollFirst(): " + ns.pollFirst()); System.out.println("Navigable Set: " + ns); System.out.println("pollLast(): " + ns.pollLast()); System.out.println("Navigable Set: " + ns); System.out.println("pollFirst(): " + ns.pollFirst()); System.out.println("Navigable Set: " + ns); System.out.println("pollFirst(): " + ns.pollFirst()); System.out.println("Navigable Set: " + ns); System.out.println("pollFirst(): " + ns.pollFirst()); System.out.println("Navigable Set: " + ns); System.out.println("pollFirst(): " + ns.pollFirst()); System.out.println("pollLast(): " + ns.pollLast()); } }
上面的代码生成以下结果。
更多建议: