我的方法返回Map<A,B>
。在一些明确标识的情况下,映射只包含一个键值对,实际上只是两个对象的包装器。
是否有一种高效/优雅/清晰的方式来访问密钥和值?迭代单元素入口集似乎有点过分。我正在寻找能够降低维持这种能力的人所需的脑力的方法:
(...)
// Only one result.
else {
A leKey = map.getKey(whicheverYouWantThereIsOnlyOne); // Is there something like this?
B leValue = map.get(leKey); // This actually exists. Any Daft Punk reference was non-intentional.
}
编辑:我最终选择了@akoskm解决方案。最后,没有迭代的唯一令人满意的方法是使用TreeMap
,并且开销使得不合理。
事实证明,并不总是有一颗银弹,特别是因为这只是一只非常小的兔子可以杀死它。
答案 0 :(得分:3)
如果你需要键/值,那么尝试这样的事情:
Entry<Long, AccessPermission> onlyEntry = map.entrySet().iterator().next();
onlyEntry.getKey();
onlyEntry.getValue();
答案 1 :(得分:1)
您可以使用TreeMap或ConcurrentSkipListMap。
TreeMap<String, String> myMap = new TreeMap<String, String>();
String firstKey = myMap.firstEntry().getKey();
String firstValue = myMap.firstEntry().getValue();
另一种使用方法:
String firstKey = myMap.firstKey();
String firstValue = myMap.get(myMap.firstKey());
这可以作为替代解决方案。
答案 2 :(得分:0)
有一个名为keySet()
的方法来获取密钥集。阅读此thread。
else {
A leKey=map.keySet().iterator().next();
B leValue; = map.get(leKey); // This actually exists. Any Daft Punk reference was non-intentional.
}