📜  Java中的SortedMap subMap()方法

📅  最后修改于: 2022-05-13 01:55:33.736000             🧑  作者: Mango

Java中的SortedMap subMap()方法

Java中 SortedMap 接口的 subMap() 方法用于返回该映射部分的视图,其键范围从fromKey (包括)到toKey (不包括)。

  • 此方法返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。
  • 此方法返回的地图支持此地图支持的所有可选地图操作。

注意:如果尝试在其范围之外插入键,则此方法返回的映射将引发 IllegalArgumentException。

语法

SortedMap subMap(K fromKey,
                      K toKey)

其中,K 是该 Set 维护的键的类型,V 是与该键关联的值的类型。

参数:该函数接受两个参数fromKeytoKey ,分别表示返回映射中键的低端点(包括)和高端点(不包括)。

返回值:它返回此映射部分的视图,其键范围从fromKeytoKey

例外

  • ClassCastException :如果参数fromKey与此映射的比较器不兼容(或者,如果映射没有比较器,则 fromKey 未实现 Comparable)。
  • NullPointerException :如果参数fromKey为 null 并且此映射不允许 null 键。
  • IllegalArgumentException :如果此映射本身具有受限范围,并且fromKey位于范围之外

下面的程序说明了上述方法:

程序 1

// A Java program to demonstrate
// working of SortedSet
import java.util.*;
  
public class Main {
    public static void main(String[] args)
    {
        // Create a TreeSet and inserting elements
        SortedMap mp = new TreeMap<>();
  
        // Adding Element to SortedSet
        mp.put(1, "One");
        mp.put(2, "Two");
        mp.put(3, "Three");
        mp.put(4, "Four");
        mp.put(5, "Five");
  
        // Returning the key ranging
        // between 2 and 5
        System.out.print("Elements in range from 2 to 5 in the map is : "
                         + mp.subMap(2, 5));
    }
}
输出:
Elements in range from 2 to 5 in the map is : {2=Two, 3=Three, 4=Four}

方案二

// A Java program to demonstrate
// working of SortedSet
import java.util.*;
  
public class Main {
    public static void main(String[] args)
    {
        // Create a TreeSet and inserting elements
        SortedMap mp = new TreeMap<>();
  
        // Adding Element to SortedSet
        mp.put("One", "Geeks");
        mp.put("Two", "For");
        mp.put("Three", "Geeks");
        mp.put("Four", "Code");
        mp.put("Five", "It");
  
        // Returning the key range between D and Z
        System.out.print("Key in range from D to Z in the map is : "
                         + mp.subMap("D", "Z"));
    }
}
输出:
Key in range from D to Z in the map is : {Five=It, Four=Code, One=Geeks, Three=Geeks, Two=For}

参考:https: Java/util/SortedMap.html#subMap(K)