Я хочу преобразовать список String в карту, где ключ карты представляет собой простое приращение.
Например:
List<String> result = new ArrayList<String>();
result.add("hello");
result.add("Java");
Притворный результат:
Map<Integer, String> mapOfList;
map(1, "Hello");
map(2, "Java");
Пытаться:
AtomicInteger atomic=new AtomicInteger(0);
mapOfList=result.stream().collect(atomic.incrementAndGet(), s -> s);
Попробуй это
result.stream()
.collect(Collectors.toMap(element -> atomic.incrementAndGet(), Function.identity());
Функции, как правило, не должны иметь состояния, хотя в документации об этом явно не говорится.
atomic
здесь фактически является состоянием функцииkeyMapper
. Если вы измените его на параллельный поток, это испортит идентификаторы.