我知道这可能是一个幼稚的问题,但我真的需要帮助!当我使用 HashSet 并在某个函数中使用它时,在某些时候,内容 char[][] 可能会改变。我想使用 HashSet 来检查它是否包含该值,但无论值是否更改,每次它都返回 true。
例如:
HashSet<char[][]> visited = new HashSet<char[][]>();
char[][] board = Board.board // initialization;
visited.add(board);
for(int i = 0; i < 4; i++){
if(visited.contains(board)
System.out.println("Why");
}
这就是问题所在!无论板子是否更改其内容,每次它都返回“true”;
有人可以帮忙吗??
我看到评论并感谢您的回复。char[][] 板是一张地图,我想在地图上找到一条路径。“for”循环实际上是从 4 个方向查找路径的搜索算法。因此,每次董事会的内容发生变化时,我都想缩短重复项。这就是为什么我使用 hashset 来存储我已经走过的路径或地图。