[java] List 의 진정한 deep copy 에 대하여

By | 2월 2, 2021

newList.addAll(oriList); 는 언뜻 deep copy 인 것처럼 보이지만 아니다.

커스텀 클래스인 경우에는 Clonable 을 implement 하기도 한다고 한다.

나는 주로 List<Map> 구조를 사용하기 때문에 그냥 아래와 같이 했다.

List<Map<String, Object>> newList = new ArrayList<>();
oriList.forEach(el -> {
    newList.add(new LinkedHashMap<>(el)); // 이걸로 완전한 deep copy가 이루어 지는지는 아직 모르겠다.
});
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments