gpt4 book ai didi

java - 使用 map 检查是否包含数组。但不起作用

转载 作者:行者123 更新时间:2023-11-29 08:10:25 25 4
gpt4 key购买 nike

我有一个关于 Java map 的问题。我用map来包含数组,我想检查map是否包含我想要的数组。但它不起作用。无论如何检查 map 是否包含我想要的数组?

import java.util.*;

public class testContainKey{
static Map<int[],Integer> map = new HashMap<int[], Integer>();
public static void main(String args[]){
int[] initial={1,2,3,4,5,6,7,8,9};
int[] goal = {1,2,3,4,5,6,7,8,9};
map.put(goal,0);
if(map.containsKey(array)){
System.out.println("OK");
}
else{
System.out.println("Not works");
}
}
}

最佳答案

这行不通:Map 基于哈希码和相等性检查;数组在计算它们的哈希码时不注意它们的元素。这就是为什么您尝试用作键的两个数组被认为是不同的。

您可以定义一个类ArrayKey,在构造函数中将数组放入其中,并定义使用数组元素的equalshashCode

关于java - 使用 map 检查是否包含数组。但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8426422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com