为什么HashMap的值不能转换为List?

19 浏览
0 Comments

为什么HashMap的值不能转换为List?

我将数值放入了一个形式为Map highLowValueMap=new HashMap(); highLowValueMap.put(1l, 10.0); highLowValueMap.put(2l, 20.0);的哈希表中。

我想使用map的values()方法来创建一个列表。

List valuesToMatch=new ArrayList<>();
valuesToMatch=(List) highLowValueMap.values();

或者

List valuesToMatch=(List) highLowValueMap.values();

然而,它抛出了一个异常:

Exception in thread "main" java.lang.ClassCastException:

java.util.HashMap$Values无法转换为java.util.List

但它允许我将其传递给列表的创建:

List valuesToMatch  = new ArrayList( highLowValueMap.values());

0