Java로 코딩을 하다보면 가지고 있는 데이터의 안전을 위해 새로운 변수에 복사하거나 더 많은 데이터를 넣기 위해 더 크기가 큰 배열에 기존 데이터를 넣어줘야 하는 경우가 생긴다. 이럴 때 사용할 수 있는 방법을 알아보자.
1. = 이용하기
첫 번째 방법은 아주 간단하게 '='을 이용하는 방법이다. 단순하면서도 가장 많이 사용하는 방법이다. a 라는 배열을 같은 크기를 가진 b 라는 배열에 옮길 때 주로 사용한다. 하지만 a의 길이가 3일 때 b는 5라는 길이를 가진 배열이여도 b = a를 진행하면 b의 길이가 a와 같아지기 때문에 b를 5의 길이를 가진 배열로 유지하면서 a의 데이터를 넣고자 한거라면 적합하지 않다.
public class sample {
public static void main(String args[]) {
int[] a = {3,4,5,6};
int[] b = new int[10];
System.out.println("b의 길이는 : " + b.length);
}
}
출력 : b의 길이는 : 4
2. System.arraycopy()
java.System에서 제공하는 arraycopy()는 b의 길이를 유지하면서 a의 데이터를 복사할 수 있다. 예를 들어 길이가 4인 a를 길이가 10인 c에 옮겨 보겠다.
public class sample {
public static void main(String args[]) {
int[] a = {3,4,5,6};
int[] c = new int[10];
System.arraycopy(a, 0, c, 0, a.length);
System.out.println("c의 길이는 : " + c.length);
}
}
출력 : c의 길이는 : 10
System.arraycopy()를 사용하면 위 예시 처럼 c의 길이를 유지한체 a의 데이터를 복사할 수 있다.
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
JAVA - 배열(Array) 와 컬렉션 (Collection)의 차이점 (0) | 2024.06.21 |
---|---|
JAVA - I/O 와 NIO 차이 (0) | 2024.06.21 |
Java - 문자열(String) 과 정수(int) 변환 (0) | 2024.03.13 |
Java - 대소문자 구분 / 대소문자 변환 (문자) (0) | 2024.03.13 |
JAVA - 파일 입출력 ( FileOutputStream, FileInputStream, FileReader, FileWriter) (0) | 2023.06.20 |