java获取map数量_java – 如何从HashMap或LinkedHashMap获取有限数量的值?
假設(shè)我有一個(gè)包含216個(gè)條目的LinkedHashMap,我如何從LinkedHashMap< Integer,Object>獲取前100個(gè)值(此處為Object類(lèi)型).
解決方法:
丑陋的單線(xiàn)
這個(gè)丑陋的單線(xiàn)程會(huì)做(并在問(wèn)題的情況下返回一個(gè)ArrayList< Object>):
Collections.list(Collections.enumeration(lhMap.values())).subList(0, 100)
這也適用于HashMap,但HashMap由HashSet支持,并不保證您將獲得輸入的前100個(gè)值;它適用于其他類(lèi)型,具有類(lèi)似的限制.
筆記:
>相對(duì)低效(閱讀Javadoc知道原因 – 雖然情況更糟!),
>使用視圖時(shí)要小心(閱讀Javadoc了解更多信息),
>我確實(shí)提到它很難看.
循序漸進(jìn)的用法示例
(根據(jù)OP的評(píng)論)
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);
}
標(biāo)簽:java,hashmap,linkedhashmap
來(lái)源: https://codeday.me/bug/20190716/1481347.html
總結(jié)
以上是生活随笔為你收集整理的java获取map数量_java – 如何从HashMap或LinkedHashMap获取有限数量的值?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java阻塞队列作用_简单理解阻塞队列(
- 下一篇: 我的世界java版月步教程_《我的世界》