Изучение Apex: подробное руководство по циклическому перебору списков

В Apex, языке программирования, используемом на платформе Salesforce, циклическое перебор списков является обычной операцией при работе с коллекциями данных. В этой статье мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам понять и использовать возможности итерации списков в Apex.

Метод 1: цикл for
Цикл for — это базовая конструкция цикла, которая перебирает список, указывая начальный и конечный индекс. Вот пример перебора списка целых чисел с использованием цикла for:

List<Integer> numbers = new List<Integer>{1, 2, 3, 4, 5};
for (Integer num : numbers) {
    System.debug(num);
}

Метод 2: цикл for-each
Apex также поддерживает цикл for-each, который упрощает процесс перебора по списку. Этот цикл автоматически присваивает каждому элементу списка переменную цикла. Вот пример:

List<String> names = new List<String>{'Alice', 'Bob', 'Charlie'};
for (String name : names) {
    System.debug(name);
}

Метод 3. Цикл while
В некоторых случаях может потребоваться больший контроль над процессом итерации. Цикл while позволяет вам перебирать список на основе условия. Вот пример, демонстрирующий, как перебирать список с помощью цикла while:

List<Boolean> flags = new List<Boolean>{true, false, true, false};
Integer i = 0;
while (i < flags.size()) {
    System.debug(flags[i]);
    i++;
}

Метод 4: итератор
Apex предоставляет класс итератора под названием Iterator, который позволяет перемещаться по списку. Итератор предоставляет такие методы, как hasNext()и next(), чтобы проверить, есть ли еще элементы, и получить следующий элемент соответственно. Вот пример:

List<Integer> scores = new List<Integer>{90, 85, 95, 80};
Iterator<Integer> iter = scores.iterator();
while (iter.hasNext()) {
    Integer score = iter.next();
    System.debug(score);
}

Метод 5: расширенный цикл for (доступен в Apex 51.0 и более поздних версиях)
Начиная с версии Apex 51.0, Salesforce представила расширенный цикл for, который поддерживает прямой перебор списков без необходимости использования переменной-итератора. Вот пример:

List<String> fruits = new List<String>{'Apple', 'Banana', 'Orange'};
for (String fruit : fruits) {
    System.debug(fruit);
}

Просмотр списков — это фундаментальная операция в Apex, и понимание различных доступных методов может значительно повысить вашу производительность как разработчика Salesforce. В этой статье мы рассмотрели пять различных способов перебора списков в Apex, включая циклы for, циклы for-each, циклы while, итераторы и расширенный цикл for, представленный в Apex версии 51.0. Используя эти методы, вы можете эффективно обрабатывать данные списков и манипулировать ими в приложениях Salesforce.