공부 자료/자바[JAVA]
[JAVA] 배열의 복사(System.arraycopy(), Arrays.copyOf)
희희웃는청바지
2023. 8. 17. 16:38
배열을 복사할 수 있는 방법
1) System.arraycopy()
2) Arrays.copyOf() / Arrays.copyOfRange()
System.arraycopy(원본 배열, 시작 인덱스, 복사할 배열, 복사할 배열의 시작 인덱스, 복사할 배열의 마지막 인덱스)
원본배열 = Arrays.copyOf(복사할 배열, 복사할 배열에서 복사해 올 길이)
* 사실상 Arrays.copyOf()의 코드를 보면 System.arraycopy() 메서드를 래핑한 함수임을 알 수 있음
[차이점]
- Arrays.copyOf()
: 새로운 배열 생성이 가능
: 전부 복사하거나 복사 대상의 객체를 유지시킬 필요가 없을 때 사용
- System.arraycopy() : 복사할 길이를 명시해야 하거나, 객체를 유지하고자 할 때 사용
* Arrays.copyOf()가 System.arraycopy 보다 2배가량 빠름