java - NavigableMap : java. lang.IllegalArgumentException:键超出范围

标签 java exception collections dictionary

您能解释一下这段代码吗?

TreeMap<String, Integer> myMap = new TreeMap<String, Integer>();
        myMap.put("a", 50);
        myMap.put("b", 60);
        myMap.put("c", 70);

        NavigableMap<String, Integer> myMap2 = myMap.headMap("d", true);
        myMap.put("e", 90);
        myMap2.put("f", 100);//exception here
        System.out.println(myMap.size() + " " + myMap2.size());

输出消息:

java.lang.IllegalArgumentException: key out of range
    at java.util.TreeMap$NavigableSubMap.put(TreeMap.java:1407)
    at SomeClass.main(SomeClass.java:13)

我不明白为什么我有它。

最佳答案

来自JavaDoc on TreeMap.headMap :

The returned map will throw an IllegalArgumentException on an attempt to insert a key outside its range.

关于java - NavigableMap : java. lang.IllegalArgumentException:键超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21498112/

相关文章:

java - FXML 文件无法打开

java - 异步工作,但等待 Unresolved reference

collections - 与常规集合中的交集相反

android - 按对象属性对集合进行排序

java - 从 mybatis 的 application.yml 获取 SQL session

java - 当捕获异常而不是继续时,是否可以在循环中再次迭代?

java - 删除 ArrayList 元素时出现 IndexOutOfBoundsException

exception - Windows 7 上的 C++ Builder 中的语音 API (SAPI) 浮点除以零

.net - 如何正确修改生成的XSD以克服导致异常 "cs0030:Unable to generate a temporary class"的已知.Net错误

java - 为什么有些库会定义自己的集合?