Java 中的 NavigableMap headMap()
Java中的NavigableMap是一个有序映射,提供了一些新的导航方法,其中headMap()方法就是其中之一。
headMap()方法返回一个包含映射小于给定键值的键-值映射的视图,即所谓的“头部映射”。 映射的顺序定义为根据另一个比较器,可以使用给定比较器来代替自然顺序。
先看下用法:
public NavigableMap<K,V> headMap(K toKey, boolean inclusive)
- toKey :返回此映射的最大密钥(不包括)。 maxKey是这个NavigableMap的最后一个元素的键。
- inclusive :如果为true,则包括toKey;如果为false,则不包括。返回的NavigableMap中最后一个元素的键。包括此元素只有在此方法返回的NavigableMap不为空时才有用。
下面看一个示例代码:
import java.util.NavigableMap;
import java.util.TreeMap;
public class Demo {
public static void main(String[] args) {
NavigableMap<String, String> navigableMap = new TreeMap<>();
navigableMap.put("A", "Apple");
navigableMap.put("B", "Banana");
navigableMap.put("C", "Cat");
navigableMap.put("D", "Dog");
navigableMap.put("E", "Elephant");
navigableMap.put("F", "Fish");
NavigableMap<String, String> headMap = navigableMap.headMap("D", true);
System.out.println("NavigableMap : " + navigableMap);
System.out.println("HeadMap : " + headMap);
}
}
这个示例代码运行的结果是:
NavigableMap : {A=Apple, B=Banana, C=Cat, D=Dog, E=Elephant, F=Fish}
HeadMap : {A=Apple, B=Banana, C=Cat, D=Dog}
这个示例代码中构造了一个NavigableMap并将一些String类型的键和值添加到它中。 然后使用headMap()方法返回映射小于给定键值“D”的键-值映射的视图。
由于第二个参数设置为true,因此返回的NavigableMap包含给定键值,即“D”。
结论
通过这个简短的示例,您了解了NavigableMap中headMap()方法的使用及其原理。 headMap()方法返回与给定键值小的元素。 此外,NavigableMap还提供其他有用的导航方法,例如tailMap()和subMap()等。 这些方法为我们操作集合提供了方便。