【发布时间】:2020-11-21 18:47:45
【问题描述】:
我正在为大学制作一个 Java 项目。我需要在 String 列表中添加 Map 的前 5 个值,但我似乎无法找到一种方法来迭代仅 5 个元素,而不是像使用 Iterator 那样的所有元素
基本上我有一个 Map 声明如下:Map<String, Integer> infl_numbers = new HashMap<>();
我想做这样的事情:
for (short i =0;i<5;i++){
// element = get i-th element of the Map
// list.add(element)
}
谁能帮帮我?
【问题讨论】:
-
HashMap未排序 - 元素的排序顺序未明确定义。因此,您可能会在每次运行应用程序时获得不同的元素。 -
定义
first的含义,Map 的键由Set支持,根据合同没有定义顺序。 -
还有其他类型的 Map 确实提供了排序,但请查看
LinkedHashMap,它可以提供插入顺序或访问顺序,具体取决于配置。 -
由于不关心keys,所以可以直接遍历values
infl_numbers.values().stream().limit(5).collect(Collectors.toList())
标签: java hashmap linkedhashmap