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

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
Зарегистрируйся сейчас
или Подпишись на будущие тесты