Преобразование Arraylist в map с помощью Stream API
Как мне преобразовать Arraylist в мап, чтобы четные элементы были ключами, а нечетные - значениями!?
ArrayList list = new ArrayList<>(); Collections.addAll(list,2,3,4,5);
Map<Integer,Integer> result = list.stream().collect(Collectors.toMap(??????????));
Ответы (1 шт):
Автор решения: Ihar Hulevich
→ Ссылка
Если использовать IntStream то можно преобразовать в
List<Integer> list = List.of(2, 3, 4, 5);
Map<Integer, Integer> result = IntStream
.iterate(0, i -> i < list.size(), i -> i + 2)
.boxed()
.collect(Collectors.toMap(list::get, i -> list.get(i + 1), (a, b) -> b));