Java 如何从LinkedHashMap集中获取双数组键集(例如array[double])
在最后一年的模块中,我一直在解决旅行推销员的问题。我一直在使用LinkedHashMaps将不同的旅程存储为数组[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
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[]
是本机数据类型的数组,每个数据类型表示一个浮点数。因此,我必须将该值转换/更改为一个双精度数组列表,而不是数组?