Возвращает логическое значение из метода, который ищет массив - PullRequest
0 голосов
/ 30 апреля 2018

Есть ли способ немедленно вернуть логическое значение при выполнении условия во время цикла for, который просматривает список?

Я использовал этот метод "флага", когда делал подобные вещи.

Класс, на который ссылается this, является объектом, состоящим из нескольких Point объектов.

Этот метод возвращает true, если какой-либо из Point объектов в его pointsCovered ArrayList равен точке p, переданной в метод (если объект содержит входную точку отсюда и название метода).

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 завершит цикл и немедленно вернет значение.

Приветствие.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Если вы хотите проверить всю коллекцию, вы можете сделать это в одной строке:

boolean containsPoint(Point p) {
    return pointsCovered.contains(p);
}
0 голосов
/ 30 апреля 2018

Бросьте flag полностью и return как можно скорее:

boolean containsPoint(Point p) {

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

    return false;
}
...