Java 返回LinkedHashMap的第一个键

Java 返回LinkedHashMap的第一个键,java,linked-list,hashmap,Java,Linked List,Hashmap,我在一个叫酸奶的班上有一个LinkedHashMap Map<Integer, Integer>French = new LinkedHashMap<Integer, Integer>(); 但是,这会返回不兼容类型的错误问题在于您使用的是entrySet(),其成员的类型为Map.Entry。对迭代器的结果使用getKey(),或者使用map.keySet().iterator().next()如果将变量分配给每个方法调用结果,则更清楚错误在哪里: Map<In

我在一个叫酸奶的班上有一个LinkedHashMap

Map<Integer, Integer>French = new LinkedHashMap<Integer, Integer>();

但是,这会返回不兼容类型的错误

问题在于您使用的是
entrySet()
,其成员的类型为
Map.Entry
。对迭代器的结果使用
getKey()
,或者使用
map.keySet().iterator().next()

如果将变量分配给每个方法调用结果,则更清楚错误在哪里:

Map<Integer, Integer> map = Yoghurts.getHashMap();
Set<Map.Entry<Integer, Integer>> entrySet = map.entrySet();
Iterator<Map.Entry<Integer, Integer>> iterator = entrySet.iterator();
Map.Entry<Integer, Integer> entry = iterator.next();

请注意,在这里,您还将
整数
键取消绑定到
整数
,如果该键为空,则可能引发异常(我相信LinkedHashMap支持空键)。

我们如何回答您提出的这样一个名称的问题?在您的问题标题中,您询问如何获取第一个键,在你的问题中,你问如何进入它。请把你想要的弄清楚achieve@AlekseyIzmailov很明显,他想检索输入的第一个密钥,但没有说明如何输入?“我现在想输入第一个键”我以为可以使用LinkedHashMap?这是不必要的罗嗦,在这种情况下真的没有帮助。IDE将向您显示每个方法调用的类型,并且在任何情况下都清楚错误是什么。但是,您可以正确地看到,
HashMap
和基于它的
LinkedHashMap
都允许使用
null
键,使用代码的人需要知道这一点。
Map<Integer, Integer> map = Yoghurts.getHashMap();
Set<Map.Entry<Integer, Integer>> entrySet = map.entrySet();
Iterator<Map.Entry<Integer, Integer>> iterator = entrySet.iterator();
Map.Entry<Integer, Integer> entry = iterator.next();
int location = entry.getKey();