Java 8 Stream 을 어떻게 사용 하여 List (Object) 를 List (Map (String, Object) 로 바 꿉 니까?

1107 단어 자바
문제 설명: 사용자 목록 List 가 있 습 니 다. 모든 user 부분 필드 를 추출 하여 하나의 Map 에 다시 넣 은 다음 에 생 성 된 Map 을 List 에 넣 어야 합 니 다.
원래 코드 는 다음 과 같 습 니 다.
public static List> toListMap(List userList) {
    List> result = new ArrayList<>();
    Map map;
    for (User user : userList) {
       map = new HashMap<>();
       map.add("username", user.getUserName);
       map.add("age", user.getAge);
       map.add("gender", user.getGender);
       result.add(map);
    }
    return result;
}

자바 8 stream 을 사용 한 후 코드 는 다음 과 같 습 니 다.
private Map toMap(User user) {
    Map map = new HashMap<>();
    map.add("username", user.getUserName);
    map.add("age", user.getAge);
    map.add("gender", user.getGender);
    return map;
}

List> data = userList.stream()
                .map(this::toMap)
                .collect(Collectors.toList());

​    

좋은 웹페이지 즐겨찾기