java获取map数量_java – 如何从HashMap或LinkedHashMap获取有限数量的值?
假設我有一個包含216個條目的LinkedHashMap,我如何從LinkedHashMap< Integer,Object>獲取前100個值(此處為Object類型).
解決方法:
丑陋的單線
這個丑陋的單線程會做(并在問題的情況下返回一個ArrayList< Object>):
Collections.list(Collections.enumeration(lhMap.values())).subList(0, 100)
這也適用于HashMap,但HashMap由HashSet支持,并不保證您將獲得輸入的前100個值;它適用于其他類型,具有類似的限制.
筆記:
>相對低效(閱讀Javadoc知道原因 – 雖然情況更糟!),
>使用視圖時要小心(閱讀Javadoc了解更多信息),
>我確實提到它很難看.
循序漸進的用法示例
(根據OP的評論)
Map> hashmap3 =
new LinkedHashMap>();
// [...] add 216 elements to hasmap3 here somehow
ArrayList> firstPairs =
Collections.list(Collections.enumeration(hashmap3.values())).subList(0, 100)
// you can then view your Pairs' SelectedRow values with them with:
// (assuming that:
// - your Pair class comes from Apache Commons Lang 3.0
// - your SelectedRoad class implements a decent toString() )
for (final Pair p : firstPairs) {
System.out.println("double: " + p.left);
System.out.println("road : " + p.right);
}
標簽:java,hashmap,linkedhashmap
來源: https://codeday.me/bug/20190716/1481347.html
總結
以上是生活随笔為你收集整理的java获取map数量_java – 如何从HashMap或LinkedHashMap获取有限数量的值?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java阻塞队列作用_简单理解阻塞队列(
- 下一篇: 我的世界java版月步教程_《我的世界》