본문 바로가기

JAVA

[JAVA] object List to map using stream - Object List를 Map 으로 변환하기

 

 

 

Object 를 Map 으로 바꾸고 싶었다.

stream.map().collect(Collectors.toList()) 를 사용하면 유연한 변화가 가능하지만,

타입 변환만 하면 되기에, ObjectMapper 를 사용해서 바꿔준다.

 

 

public void sampleMapper(Object obj) {
    ObjectMapper mapper = new ObjectMapper();
    Map<String,Object> objMap = mapper.convertValue(obj, new TypeReference<Map<String,Object>() {});
}

 

 

해당 Object 의 List가 Map의 Key,Value 로 들어간다.

mapper.convertValue 를 통해 Object > Entity, List > Map 등 다양한 변환이 가능하다.

 

stream 보단 간편하지만 자유도는 떨어진다.

그리고 mapper.converValue 로 변환 시 Map의 구현체가 LinkedHashMap 이다.