我有一个执行一些计算的函数。它接受一个整数数组,并根据传递给它的整数数组的内容返回一个整数。
由于我的应用程序正在进行数百个这些计算,我正在尝试设置一种方法来将这些计算结果存储在哈希映射中,这样它就不必重新计算最近已经完成的计算。然而,要做到这一点,我需要使用整数数组作为哈希映射的键。
目前,这将打印大小2,我希望它打印大小1:
由于我的应用程序正在进行数百个这些计算,我正在尝试设置一种方法来将这些计算结果存储在哈希映射中,这样它就不必重新计算最近已经完成的计算。然而,要做到这一点,我需要使用整数数组作为哈希映射的键。
目前,这将打印大小2,我希望它打印大小1:
LinkedHashMap hashmap = new LinkedHashMap();
int test[] = {1,2,3};
int test2[] = {1,2,3};
hashmap.put(test, 1);
hashmap.put(test2, 1);
System.out.println("Size: "+hashmap.size());
如何实现这一目标最佳?我可以创建一个方法来将数组转换为某种字符串,以编码数组数据,但我认为这不是最好的解决方案。
List
存储在哈希映射中。 - khelwoodList
或者将数组包装在一个简单的类中,重写equals()
/hashCode()
方法;参见Arrays
类。 - fge