在java中查找两个集合中的唯一点和公共点,而不使用任何集合、列表等

在java中查找两个集合中的唯一点和公共点,而不使用任何集合、列表等,java,arrays,intersect,Java,Arrays,Intersect,所以我这里的问题是,我需要在给定的两个集合中找到交集和差分。Intersect即将完成,但它会给出错误,如“必需:int,找到:oo.hide.Point”或“必需:oo.hide.Point[],找到:int[]”。我不能使用任何集合、列表或其他内置/动态集合。有没有办法解决这两种方法? 我将非常感谢你的帮助 `` 我在评论中告诉过您,您需要重写equals()方法,以使资产正常工作。您重写它的方式不正确,下面是您应该如何编写它: @Override public boolean equals

所以我这里的问题是,我需要在给定的两个集合中找到交集和差分。Intersect即将完成,但它会给出错误,如“必需:int,找到:oo.hide.Point”或“必需:oo.hide.Point[],找到:int[]”。我不能使用任何集合、列表或其他内置/动态集合。有没有办法解决这两种方法? 我将非常感谢你的帮助

``


我在评论中告诉过您,您需要重写
equals()
方法,以使
资产正常工作。您重写它的方式不正确,下面是您应该如何编写它:

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    PointSet pointSet= (PointSet) o;
    return Arrays.equals(pointArr, pointSet.pointArr);
}

PS:别忘了在
Point
类中重写
equals()

除了必需的:int,find:oo.hide.Point之外,您希望得到什么?您正在尝试将
对象添加到
int
数组中。将
int[]newPoints=new int[points]
更改为
Point[]newPoints=new points[points]
Hmm,现在一切似乎都在使用intersect方法,但测试仍然显示:
java.lang.AssertionError:Expected:is:was-Expected:is-Actual:
是否覆盖了
equals()
方法?无论如何,我假设不是,因为代码是正确的,但结果是错误的。您需要重写
PointSet
类中的
equals()
方法。添加了我的答案:)您的
包含的
方法做什么?从行
other.contains(pointArr[i])
@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    PointSet pointSet= (PointSet) o;
    return Arrays.equals(pointArr, pointSet.pointArr);
}