Java 導(dǎo)航集

2018-02-20 02:42 更新

Java集合教程 - Java導(dǎo)航集


導(dǎo)航集是一個有序集,允許您使用其子集在各種方式。

NavigableSet 表示Java集合中的可導(dǎo)航集合框架。 NavigableSet 接口繼承了SortedSet接口和擴(kuò)展 SortedSet 。

NavigableSet 界面可以以相反的順序?qū)Ш郊吓cSortedSet中定義的順序相比。

headSet(), tailSet() subSet() NavigableSet 接口接受布爾標(biāo)志以將元素包括在子集邊界的開始或結(jié)束處。

lower(),floor(),higher()和ceiling()從NavigableSet接口搜索基于搜索條件的元素。

lower()方法返回小于指定元素的最大元素。

floor()方法返回 NavigableSet 中小于或等于指定元素的最大元素。

higher()方法返回最小元素大于指定元素的 NavigableSet 。

ceiling()方法返回 NavigableSet 中大于或等于指定元素的最小元素。

pollFirst() pollLast()分別檢索和刪除 NavigableSet 的第一個和最后一個元素。 如果NavigableSet為空,它們返回null。

TreeSet 類是 NavigableSet 接口的實現(xiàn)類之一。我們可以使用 TreeSet 作為集合,排序集合和可導(dǎo)航集合。

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

上面的代碼生成以下結(jié)果。



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號