-
[Java] 깊은복사(deepcopy)프로그래밍 언어/Java 2021. 10. 4. 20:04
1. 원시타입의 1차원배열
# clone() 메서드
- 배열안의 값을 복사함
- 따라서, 1차원배열은 deepcopy 가능하나 2차원배열이나 객체배열은 사용 불가능
(2차원배열은 사실상 1차원배열이고, element는 각 1차원배열의 주소값이니, 배열안의 값을 복사하면 주소값을 복사하는 셈)
(1차원 객체배열도 같은원리)
2. 원시타입 -> 오브젝트 타입
# Stream을 이용한 복사
- Java 8 이후 버전
- Arrays.stream(원시타입배열).boxed().collect(Colletors.to구현된원하는 자료형());
# for 문을 이용한 복사
- 그냥 for 문으로 복사...
3. 오브젝트 타입 -> 오브젝트 타입
# 생성자를 이용한 deepcopy
- ArrayList<Integer> copiedArrList = new ArrayList<>(arrList1);
# for 문을 이용한 복사
- 그냥 for 문으로 복사...
728x90'프로그래밍 언어 > Java' 카테고리의 다른 글
JAVA) 백준으로 공부하는 자바일기 (Dynamic Programming) (0) 2021.10.08 [Java] 프로그래머스로 다시 공부하는 자바일기 (프로그래머스 레벨2) (0) 2021.10.05 [Java] 프로그래머스로 다시 공부하는 자바일기 (프로그래머스 레벨1) (0) 2021.10.04 Mac) Homebrew 로 Tomcat 서버 설치, 실행, 경로 (0) 2021.08.19 Mac) 이클립스, 톰캣 연동 (0) 2021.08.19