Преобразование Java-массива в карту: методы и примеры

  1. Традиционный цикл for: перебирает массив и вручную заполняет карту парами ключ-значение.
  2. Потоки Java 8: используйте метод массива stream()и метод collect()с Collectors.toMap()чтобы преобразовать массив в карту.
  3. Apache Commons ArrayUtils: если вы используете библиотеку Apache Commons, вы можете использовать метод ArrayUtils.toMap()для преобразования массива в карту.
  4. Библиотека Гуавы. Если в вашем проекте есть библиотека Гуавы, вы можете использовать метод Maps.uniqueIndex()для преобразования массива в карту.

Вот пример каждого подхода:

  1. Традиционный цикл for:
String[] array = {"key1", "value1", "key2", "value2"};
Map<String, String> map = new HashMap<>();
for (int i = 0; i < array.length; i += 2) {
    map.put(array[i], array[i + 1]);
}
  1. Потоки Java 8:
String[] array = {"key1", "value1", "key2", "value2"};
Map<String, String> map = IntStream.range(0, array.length / 2)
        .boxed()
        .collect(Collectors.toMap(i -> array[i * 2], i -> array[i * 2 + 1]));
  1. Apache Commons ArrayUtils:
import org.apache.commons.lang3.ArrayUtils;
String[] array = {"key1", "value1", "key2", "value2"};
Map<String, String> map = ArrayUtils.toMap(array);
  1. Библиотека Гуавы:
import com.google.common.collect.Maps;
String[] array = {"key1", "value1", "key2", "value2"};
Map<String, String> map = Maps.uniqueIndex(Arrays.asList(array), i -> array[i * 2]);