📜  Java中的 NavigableMap headMap()(1)

📅  最后修改于: 2023-12-03 14:42:50.297000             🧑  作者: Mango

Java中的 NavigableMap headMap()

在Java中,NavigableMap是一个有序的Map,其中的键和值都可以是任意类型。该类提供了一系列用于导航地图的方法,包括headMap()tailMap()subMap()。其中,headMap()表示返回Map中的部分数据,包括小于指定键值的所有元素。

方法定义

headMap(K toKey, boolean inclusive): 返回一个NavigableMap,其中的所有键都小于toKey。如果inclusive为true,则包括键等于toKey的元素。

headMap(K toKey): 返回一个NavigableMap,其中的所有键都小于toKey。

示例
import java.util.NavigableMap;
import java.util.TreeMap;

public class NavigableMapExample {

    public static void main(String[] args) {

        // 创建一个NavigableMap
        NavigableMap<Integer, String> map = new TreeMap<>();
        map.put(1, "one");
        map.put(2, "two");
        map.put(3, "three");
        map.put(4, "four");
        map.put(5, "five");
        map.put(6, "six");
        map.put(7, "seven");

        // 返回一个NavigableMap,其中的键都小于5
        NavigableMap<Integer, String> headMap = map.headMap(5, true);
        System.out.println("headMap: " + headMap); // 输出:headMap: {1=one, 2=two, 3=three, 4=four, 5=five}

        // 返回一个NavigableMap,其中的键都小于3
        NavigableMap<Integer, String> headMap2 = map.headMap(3);
        System.out.println("headMap2: " + headMap2); // 输出:headMap2: {1=one, 2=two}
    }
}
注意事项
  • headMap()方法返回的NavigableMap是一个子集,对它的任何操作都会影响原始的Map。
  • headMap()方法传递的toKey必须是Map中已存在的键,否则会抛出IllegalArgumentException异常。