1

我有一个基于“双”数据类型的 LinkedHashMap。

LinkedHashMap<Double, Double> meetingRecord;

我希望它是原始数据类型

LinkedHashMap<double, double> meetingRecord;

据我从不同的搜索中了解到,Java 默认没有这样的数据结构可用,我需要使用来自 guava-libraries或的东西commons lang

请帮助,应该使用什么,我真的被卡住了。

4

2 回答 2

3

在您的评论中,您声明您不想遍历您的值并转换 from Doubleto double,但考虑到 Java 处理包装器和原语的方式,确实没有逃避该计算。

无论您使用什么库来从包装器(对象)集合到基元数组,它都必须向每个包装器对象询问原始值,本质上是循环遍历集合。

话虽如此,番石榴很好地做到了这一点:

double[] arrayOfDoubles = Doubles.toArray(meetingHistory.values());
于 2013-02-23T23:21:44.070 回答
0

您可以使用 Commons Primitives ( http://commons.apache.org/primitives/ )。但是,您必须非常非常关心性能才能打扰。

于 2013-02-23T22:59:45.997 回答