【发布时间】:2022-01-22 13:35:32
【问题描述】:
我想将 HashMap 的整数值提取到整数数组,丢弃键。 Java 要求数组是 Object 类型的。作为一个Java初学者,我也没有找到将“Object”转换为Integer的方法。
预期的输出是值的排序数组:{3, 2, 1}。
import java.util.*;
public class test {
public static void main(String [] args) {
Integer[] number = {1, 2, 3, 3, 1, 1};
HashMap<Integer, Integer> dist = new HashMap<>();
Integer count;
for (Integer i : number) {
count = 1;
if (dist.containsKey(i))
count += dist.get(i);
dist.put(i, count);
}
// Program fails below, *Object[] cannot be converted to Integer[]*.
Integer[] distArr = dist.values().toArray(); // Works if I replace Integer with Object
distArr.sort(); // This fails on Object[]
// ...
}
}
【问题讨论】:
-
请看documentation。
toArray可以带一个参数来定义数组的类型。