Java 导航集

2018-02-20 02:42 更新

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 作为集合,排序集合和可导航集合。

TreeSet APIs


例子

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());
  }
}

上面的代码生成以下结果。



以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号