Данные: в классе User есть три атрибута: id, name и age. Коллекция List — это userList, в котором хранятся объекты User.
1. Укажите ключ-значение, где значение — это значение атрибута в объекте.
Map<Integer,String> userMap1 = userList.stream().collect(Collectors.toMap(User::getId,User::getName));
2. Укажите ключ-значение, значение — это сам объект, Пользователь->Пользователь — это лямбда-выражение, которое возвращает себя
Map<Integer,User> userMap2 = userList.stream().collect(Collectors.toMap(User::getId,User->User));
3. Укажите ключ-значение, значение — это сам объект, Function.identity() — это краткий способ написания, а также возвращает сам объект
Map<Integer,User> userMap3 = userList.stream().collect(Collectors.toMap(User::getId, Function.identity()));
4. Укажите ключ-значение, значением является сам объект, Function.identity() является кратким способом написания, а также возвращает сам объект, решение конфликтов клавиш, здесь выберите второй ключ, чтобы перезаписать первый ключ.
Map<Integer,User> userMap4 = userList.stream().collect(Collectors.toMap(User::getId, Function.identity(),(key1,key2)->key2));