0

我有一个由 X 个 2DPoints 组成的数组,我的目标是做一个布尔运算来检查该数组是否具有指定的 2DPoint。像这样的东西:

Point2D.Double arrayPoints[] = new Point2D.Double[numberOfPoints];
Point2D.Double pointPVariable = new Point2D.Double(positionXVariable,positionYVariable);
arrayPoints[variableNumber] = pointPVariable;

if(arrayPoints has the Point2D(2.45,6.52)){
    do this
}

我怎么能做那个布尔运算?非常感谢你!

4

2 回答 2

2
Arrays.asList(arrayPoints).contains(new Point2D.Double(2.45,6.52))

只要被比较的类覆盖了 equals 方法,这就会起作用。

于 2011-10-09T10:30:01.547 回答
1

如果您的数组按 的自然顺序排序Point2D.Double,则可以使用该Arrays.binarySearch方法。

if (Arrays.binarySearch(arraysPoints, new Point2D.Double(2.45,6.52)) >= 0) {
    do this
}
于 2011-10-09T12:07:51.193 回答