Комплексное руководство по итерации карт в Apex Salesforce

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

Метод 1: использование метода keySet()
Метод keySet() возвращает набор всех ключей на карте. Мы можем перебирать набор ключей и получать соответствующие значения с карты.

Map<String, Integer> myMap = new Map<String, Integer>();
myMap.put('Key1', 1);
myMap.put('Key2', 2);
myMap.put('Key3', 3);
for (String key : myMap.keySet()) {
    Integer value = myMap.get(key);
    System.debug('Key: ' + key + ', Value: ' + value);
}

Метод 2: использование метода Values()
Метод Values() возвращает список всех значений на карте. Мы можем напрямую перебирать список значений.

Map<String, Integer> myMap = new Map<String, Integer>();
myMap.put('Key1', 1);
myMap.put('Key2', 2);
myMap.put('Key3', 3);
for (Integer value : myMap.values()) {
    System.debug('Value: ' + value);
}

Метод 3: использование метода входного набора()
Метод входного набора() возвращает набор всех пар ключ-значение на карте. Мы можем перебирать набор и получать доступ как к ключу, так и к значению каждой пары.

Map<String, Integer> myMap = new Map<String, Integer>();
myMap.put('Key1', 1);
myMap.put('Key2', 2);
myMap.put('Key3', 3);
for (Map.Entry<String, Integer> entry : myMap.entrySet()) {
    String key = entry.getKey();
    Integer value = entry.getValue();
    System.debug('Key: ' + key + ', Value: ' + value);
}

Метод 4: использование метода forEach() (доступен в Salesforce API версии 43.0 и более поздних версиях).
Метод forEach() позволяет нам перебирать карту и выполнять действие над каждой парой ключ-значение, используя лямбда-выражение. выражение или анонимную функцию Apex.

Map<String, Integer> myMap = new Map<String, Integer>();
myMap.put('Key1', 1);
myMap.put('Key2', 2);
myMap.put('Key3', 3);
myMap.forEach((key, value) -> System.debug('Key: ' + key + ', Value: ' + value));

В этой статье мы рассмотрели несколько методов итерации карт в Apex Salesforce. Используя методы keySet(),values(),EntrySet() или forEach(), вы можете эффективно перемещаться по картам и выполнять различные операции над парами ключ-значение. Понимание этих методов значительно расширит ваши возможности работы с картами в Apex Salesforce.