gpt4 book ai didi

java - 如何检查一个对象是否存在于java中的LinkedList中?

转载 作者:搜寻专家 更新时间:2023-11-01 01:31:39 27 4
gpt4 key购买 nike

LinkedList 包含一组 Integer[]。列表中的每个 Integer[] 都有 2 个数字。链表示例:

Integer[]{1,2}, Integer[]{2,3}.....

在将另一个 Integer[] 添加到此 LinkedList 之前,我想检查是否已存在具有相同数据的另一个 Integer[]

例如:要添加的对象 = Integer[] {2,3}。但这已经存在于 LinkedList 中。

所以我想避免添加这个。

如何验证对象已经存在?是否有可以使用的内置功能? contains() 没有成功。

最佳答案

我认为如果要处理坐标,最好使用特定类,如 Integer[]仅对两个数字无用,并且会导致 contains() 出现一些问题及其他List类似 .sort() 的方法

你最好创建一个Coordinate类,它将包含两个值:

public class Coordinate{
private int x;
private int y;

//getters and setters, constructor
@Override
public boolean equals(Object o) {
if (o == this) return true;
if (!(o instanceof Coord)) {
return false;
}
Coordinate coord = (Coordinate) o;
return coord.x == x &&
coord.y == y;
}

@Override
public int hashCode() {
int result = 17;
result = 31 * result + x;
result = 31 * result + y;
return result;
}
}

然后你可以使用:

LinkedList<Coordinate>

注意:

请注意,使用 Set这里的实现会更好,它会防止坐标集中出现重复,所以我们不需要手动检查它。

关于java - 如何检查一个对象是否存在于java中的LinkedList中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47459496/

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