2021-04-18 11:19  阅读(87)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-collections-traversing.html

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

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

202104181111113_1.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 导航集
上一篇
Java 排序集
下一篇
Java 列表