地图的特定条目和它的索引我有以下条目Map<String, Boolean>
:从获得使用Java lambda表达式
{‘John’:false,
'Mike':false,
'Tom':true,
'Harry':false,
'Bob': false}
我需要找到的第一个条目和它的索引,其值是true。 在这里,我应该得到汤姆和3(比如,索引从1开始)。
我可以遍历地图和获取这些值:
int itr=0;
for(Iterator<Map.Entry<String, Boolean>> entries = map.entrySet().iterator; entries.hasNext();) {
itr++;
Map.Entry<String, Boolean> entry = entries.next();
if(entry.getValue()) {
name = entry.getKey();
index = itr;
}
}
不过,我在看一个相同的lambda表达式。
'HashMap'不维护其元素的顺序! – user1803551
@ user1639485通过索引您可能意味着您有多少条目*在获得价值之前已*见过*如果是这样,这是不可靠的,因为当地图的某个重新大小发生时,该条目可以移动。除非你的地图保留了顺序,比如'LinkedHashMap'。 – Eugene
@Eugene我认为你ping了一个错误的用户,你基本上说了我说的话。 – user1803551