Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 如何从LinkedHashMap集中获取双数组键集(例如array[double])_Java_Arrays_Arraylist_Hashmap_Double - Fatal编程技术网

Java 如何从LinkedHashMap集中获取双数组键集(例如array[double])

Java 如何从LinkedHashMap集中获取双数组键集(例如array[double]),java,arrays,arraylist,hashmap,double,Java,Arrays,Arraylist,Hashmap,Double,在最后一年的模块中,我一直在解决旅行推销员的问题。我一直在使用LinkedHashMaps将不同的旅程存储为数组[double]键,这样我就可以将旅程与其行程长度值配对 我正在使用下面的代码行尝试获取密钥: List<Double> keyList = new ArrayList<Double>(hmap.keySet()); List keyList=newarraylist(hmap.keySet()); 但它不起作用,并且不断抛出错误(无法解析构造函数的Arra

在最后一年的模块中,我一直在解决旅行推销员的问题。我一直在使用LinkedHashMaps将不同的旅程存储为数组[double]键,这样我就可以将旅程与其行程长度值配对

我正在使用下面的代码行尝试获取密钥:

List<Double> keyList = new ArrayList<Double>(hmap.keySet());
List keyList=newarraylist(hmap.keySet());
但它不起作用,并且不断抛出错误(
无法解析构造函数的ArrayList(java.util.Set)


当密钥为双[]时,如何从LinkedHashMap集中获取密钥集类型?

hmap的数据类型是什么?您不能创建一个列表或一组本机类型,如int和double。您必须使用Integer或double之类的类。如果不可能,您可以创建一个空的键列表并循环通过键集,然后添加每个键,如下所示:
keyList.add(double.valueOf(hmap.keySet()[i])

您不应该使用数组作为映射键。为什么?另外,您如何将hashMap中的4点/数字巡更表示为键?数组的值不相等。也就是说,
!arr.equals(arr.clone())
。使用适当的
equals()创建自定义类
实现或使用集合类型,如
列表
。错误告诉您,通过传递构造函数,
Double[]
集合
是表示一个浮点数的对象。
Double[]
是本机数据类型的数组,每个数据类型表示一个浮点数。因此,我必须将该值转换/更改为一个双精度数组列表,而不是数组?