Java 如何在HashMap中找到未知键的值并将其转换为int?
其实不需要太多的解释,只是想知道怎样做才是最好、最有效的方法。HashMap只剩下一个键(使用map.size()==1进行检查),但是该键未知。HashMap是Java 如何在HashMap中找到未知键的值并将其转换为int?,java,Java,其实不需要太多的解释,只是想知道怎样做才是最好、最有效的方法。HashMap只剩下一个键(使用map.size()==1进行检查),但是该键未知。HashMap是。 非常感谢所有想帮忙的人 使用keySet方法获取集合中的密钥,然后遍历集合以获取密钥,如下所示 HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put(5, 1); // some map with on
。
非常感谢所有想帮忙的人 使用keySet方法获取集合中的密钥,然后遍历集合以获取密钥,如下所示
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(5, 1); // some map with only one key-value pair
int a = map.keySet().iterator().next(); // obtain keyset, get iterator and get the next element (since you know map size is 1)
System.out.println(a);
HashMap map=newhashmap();
地图。放置(5,1);//某些映射只有一个键值对
int a=map.keySet().iterator().next();//获取键集,获取迭代器并获取下一个元素(因为您知道映射大小为1)
系统输出打印项次(a);
使用keySet方法获取集合中的密钥,然后遍历集合以获取密钥,如下所示
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(5, 1); // some map with only one key-value pair
int a = map.keySet().iterator().next(); // obtain keyset, get iterator and get the next element (since you know map size is 1)
System.out.println(a);
HashMap map=newhashmap();
地图。放置(5,1);//某些映射只有一个键值对
int a=map.keySet().iterator().next();//获取键集,获取迭代器并获取下一个元素(因为您知道映射大小为1)
系统输出打印项次(a);
作为.keySet()
和.entrySet()
返回Set
您不能像使用列表那样直接使用get
操作
通过流
您可以:
int unknowKey = map.keySet().stream()
.findAny()
.orElseThrow(IllegalArgumentException::new);
或者,使用迭代器
:
int unknowKey = map.keySet().iterator().next();
就效率而言,迭代器
确实更优越:
Benchmark Mode Cnt Score Error Units
MyBench.iterator avgt 5 10,663 ± 0,175 ns/op
MyBench.stream avgt 5 47,960 ± 4,819 ns/op
作为.keySet()
和.entrySet()
返回Set
您不能直接使用get
操作,如使用List
通过流
您可以:
int unknowKey = map.keySet().stream()
.findAny()
.orElseThrow(IllegalArgumentException::new);
或者,使用迭代器
:
int unknowKey = map.keySet().iterator().next();
就效率而言,迭代器
确实更优越:
Benchmark Mode Cnt Score Error Units
MyBench.iterator avgt 5 10,663 ± 0,175 ns/op
MyBench.stream avgt 5 47,960 ± 4,819 ns/op
可以使用Map#keySet()获取一组密钥。其余的应该不言自明。您还可以使用Map#entrySet()并迭代这些条目。条目是包含键和值的对象。例如,For(Entry:map.entrySet()){print(Entry.getKey()+Entry.getValue())}
可以使用map#keySet()获得一组键。其余的应该是自解释的。也可以使用map#entrySet()并对这些项进行迭代。项是包含键和值的对象。例如,(条目:map.entrySet()){print(条目.getKey()+条目.getValue();}
Nice analysis:)…我认为转换到流需要时间可能benice analysis:)…我认为转换到流可能需要时间