【发布时间】:2020-11-19 15:47:18
【问题描述】:
我有一个HashMap,比方说,条目{1=1, 3=2, 4=1, 5=1, 6=1} 。我希望能够创建一个只包含[1,2,1,1,1] 的数组。这可能吗?
为了提供一些上下文,我正在尝试使用索引来获得可以迭代的东西,并且像数组或 ArrayList 这样的任何东西都可以工作(项目的顺序很重要)。
我尝试使用将值分配给数组
for (int j=0; j< frequencies.size(); j++){
for (int i : frequencies.values()) {
arr[j] = i;
}
}
frequencies.values()(频率是我的 HashMap 的名称)没有特别的用途,我尝试迭代它(没有工作)并将其分配给 Collections 没有用。我也尝试将 myHashMap.values() 分配给 ArrayList,这显然不起作用。
你会推荐什么?
【问题讨论】:
-
new ArrayList<>(frequencies.values())没用? -
@LouisWasserman 天哪,这行得通。我试过
ArrayList<Integer> = frequencies.values()(用Collections 替换ArrayList 有效),所以我不想尝试这个。您能解释一下为什么使用 new 关键字有效吗?
标签: java arrays arraylist hashmap iterator