- Традиционный цикл for: перебирает массив и вручную заполняет карту парами ключ-значение.
- Потоки Java 8: используйте метод массива
stream()и методcollect()сCollectors.toMap()чтобы преобразовать массив в карту. - Apache Commons ArrayUtils: если вы используете библиотеку Apache Commons, вы можете использовать метод
ArrayUtils.toMap()для преобразования массива в карту. - Библиотека Гуавы. Если в вашем проекте есть библиотека Гуавы, вы можете использовать метод
Maps.uniqueIndex()для преобразования массива в карту.
Вот пример каждого подхода:
- Традиционный цикл 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]);
}
- Потоки 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]));
- Apache Commons ArrayUtils:
import org.apache.commons.lang3.ArrayUtils;
String[] array = {"key1", "value1", "key2", "value2"};
Map<String, String> map = ArrayUtils.toMap(array);
- Библиотека Гуавы:
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]);