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

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.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes