Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java guava或apache commons lang中LinkedHaspMap的等效数据结构_Java_Type Conversion_Linkedhashmap - Fatal编程技术网

Java guava或apache commons lang中LinkedHaspMap的等效数据结构

Java guava或apache commons lang中LinkedHaspMap的等效数据结构,java,type-conversion,linkedhashmap,Java,Type Conversion,Linkedhashmap,我有一个基于“双”数据类型的LinkedHashMap LinkedHashMap<Double, Double> meetingRecord; LinkedHashMap会议记录; 我希望它是原始数据类型 LinkedHashMap<double, double> meetingRecord; LinkedHashMap会议记录; 据我从不同的搜索中了解,Java默认没有这样的数据结构,我需要使用guava库或commons lang 请帮助,应该使用什么,我真

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

LinkedHashMap<Double, Double> meetingRecord;
LinkedHashMap会议记录;
我希望它是原始数据类型

LinkedHashMap<double, double> meetingRecord;
LinkedHashMap会议记录;
据我从不同的搜索中了解,Java默认没有这样的数据结构,我需要使用
guava库
commons lang


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

您可以使用Commons原语()。但是,您必须非常非常关心性能。在您的评论中,您声明您不希望迭代您的值并从
Double
转换为
Double
,但是考虑到Java处理包装器和原语的方式,确实无法逃避这种计算

无论您使用什么库从包装器(对象)集合转到原语数组,它都必须向每个包装器对象请求原语值,基本上是在集合中循环

话虽如此,番石榴在这方面做得非常好:

double[] arrayOfDoubles = Doubles.toArray(meetingHistory.values());

泛型类型必须是对象。您不能从
集合中使用
Double.doubleValue
对象或自动取消装箱吗?问题是JRI的以下函数:“re.assign”不接受Double数组,它需要双数组。我不想使用循环从Double转换到Double,因为我的程序变得非常慢。LinkedHashMap meetingHistory=this.meetingRecord.get(其他主机);重新分配(“dd”,meetingHistory.values());非常感谢。因此,这意味着,在任何可用的库中,都没有任何可用于直接精确处理基元类型(如LinkedHashMap meetingRecord;)的集合的数据结构。因为所有集合(和泛型)都处理对象,而原语不是对象,所以它们总是需要包装。如果要使用基本体,则只能使用数组。