我已经使用 Sort a Map<Key, Value> by values (Java) 对 HashMap
进行了排序为此,我有一个 LinkedHashMap
,即一个保证迭代顺序的 Iterable
。
现在,如果可能的话,我想使用单行代码检索 map 的第一个 n
条目的 java.util.List
8 集合流 API 技术。
我找到了 how can i get two consecutive values from Iterator这解释了有可能用数组来做到这一点,但这并不优雅,与我想要获得 List
的意图不同(尽管可以转换,但这是不必要的步骤)并且需要额外的方法。
最佳答案
流式传输 entrySet
并将 Stream
限制为前 n
元素:
List<Map.Entry<Key,Value>> firstN =
map.entrySet().stream().limit(n).collect(Collectors.toList());
关于java - 如何从 Java 8 中的迭代器获取 n 个第一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44135683/