关于java:从搜索数组的方法返回一个布尔值

Return a boolean from a method that searches an array

当在通过列表扫描的for循环中满足某个条件时,是否有方法立即返回布尔值?

我在做这些事情时一直在使用这种"标记"方法。

this所指的类是由多个Point对象组成的对象。

如果pointsCoveredarraylist中的任何一个Point对象等于传入方法的点p,则此方法返回true(如果对象包含输入点,则返回方法名称)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
boolean containsPoint(Point p) {

    boolean flag = false;

    for (int i = 0; i < this.length; i++)
    {
        if (pointsCovered.get(i).equals(p)) {
            flag = true;
            break;
        }
    }

    return flag;
}

我找不到类似的东西。

基本上,我是在问是否有更好或标准的方法来做到这一点。

编辑:为了澄清,我使用了这个flag变量,因为我不知道返回for循环中的语句会终止循环并立即返回值。

干杯。


如果要检查整个集合,可以在一行中执行此操作:

1
2
3
boolean containsPoint(Point p) {
    return pointsCovered.contains(p);
}


flag完全放下,return尽快:

1
2
3
4
5
6
7
8
9
10
11
boolean containsPoint(Point p) {

    for (int i = 0; i < this.length; i++)
    {
        if (pointsCovered.get(i).equals(p)) {
            return true;
        }
    }

    return false;
}