我在名为Yoghurts的类中有一个LinkedHashMap
Map<Integer, Integer>French = new LinkedHashMap<Integer, Integer>();
然后我创建了访问器方法,以便可以从另一个类
访问该集合我现在想要输入第一个键,但我不知道该怎么做。
int location = Yoghurts.getHashMap().entrySet().iterator().next();
然而,这会返回错误不兼容的类型
答案 0 :(得分:6)
问题是您使用的是entrySet()
,其成员的类型为Map.Entry<Integer,Integer>
。对迭代器的结果使用getKey()
,或使用map.keySet().iterator().next();
答案 1 :(得分:1)
如果为每个方法调用结果分配变量,那么你的错误就更清楚了:
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();
剩下要做的是从Map.Entry
int location = entry.getKey();
请注意,此处还将Integer
键解除绑定到int
,如果键为空,则可能会抛出异常(我相信LinkedHashMap支持null键)。