我有一个由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
}
我该怎么做布尔操作?非常感谢你!
答案 0 :(得分:2)
Arrays.asList(arrayPoints).contains(new Point2D.Double(2.45,6.52))
只要被比较的类重写equals方法,这就可以工作。
答案 1 :(得分:1)
如果您的数组按Point2D.Double
的自然顺序排序,则可以使用Arrays.binarySearch
方法。
if (Arrays.binarySearch(arraysPoints, new Point2D.Double(2.45,6.52)) >= 0) {
do this
}