Каким будет результат выполнения кода:

class User {
    public Integer id;
    public String username;
    
    public User(Integer id, String username) {
        this.id = id;
        this.username = username;
    }
}

public static void main (String[] args) {
    List<User> userList = new ArrayList<>();
    userList.add(new User(1, "admin"));
    userList.add(new User(2, "guest"));
    userList.add(new User(3, null));

    Map<Integer, String> idsUsernamesMap = 
        userList.stream().collect(Collectors.toMap(user -> user.id, user -> user.username));
                
    idsUsernamesMap.forEach( (k,v) -> System.out.println("id: " + k + "; username: " + v));
}
Explanation
Collectors.toMap основывается на Map.merge, который бросает исключение NullPointerException если заданный ключ принимает значение null и если данная карта (map) не поддерживает ключи со значениями null или значение или remappingFunction (функция для перевычисления значения, если оно присутствует) является null.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести