У меня есть сценарий использования, когда мне нужно перебрать список и применить функцию к каждому элементу списка и преобразовать его в карту возвращаемого значения -> повторный элемент.
List<ListObject> listObjectList = new ArrayList<>();
// рассмотрим выше список содержит объект типа ListObject
У меня есть функция с именем "someFunc", которая возвращает объект типа X.
class X {
int id;
public int getId(){
return this.id;
}
}
private X someFunc(ListObject obj) {
///...
return new X();
}
Я использую следующее:
listObjectList.stream().map(p -> someFunc(p)).collect(Collectors.toMap(X::getId, p));
Когда я пытаюсь выше, кажется, что "p" не распространяется в функции сбора.Может ли кто-нибудь сказать мне, как заполнить карту следующего синтаксиса:
Map< Integer, ListObject > map;