使用Java中的一个元素访问Map的键值对

Sil*_*ier 2 java readability map

我的一个方法返回一个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.
}
Run Code Online (Sandbox Code Playgroud)

编辑:我最终选择了下面的@akoskm 解决方案。最后,在没有迭代的情况下做到这一点的唯一令人满意的方法是使用 a TreeMap,而开销使它变得不合理。

事实证明并不总是有灵丹妙药,特别是因为用它杀死一只非常小的兔子。

Ako*_*s K 5

如果您需要两个键/值,请尝试以下操作:

Entry<Long, AccessPermission> onlyEntry = map.entrySet().iterator().next();
onlyEntry.getKey();
onlyEntry.getValue();
Run Code Online (Sandbox Code Playgroud)

  • *迭代单元素条目集似乎有点过分。* (3认同)