Java - System.arraycopy로 두 배열 연결
이 튜토리얼에서는 두 테이블을 병합하는 방법을 배웁니다. 다음 두 가지 예는 두 가지 연결 방법, 즉 학습을 위한 학문적 방법과 System.arraycopy().1) 고전적인 방법 : 두 배열 모두 찾아보기
public class ConcatArrays {Output
public static void main(String[] args) {
String[] t1 = {"1","2","3"};
문자열[] t2 = {"4","5","6"};
문자열[] t12 = 새 문자열[t1.length+t2.length];
/*연결*/
for(int i = 0 ; i < t1.length; i++)
t12[i]=t1[i];
for(int i = 0 ; i < t2.length; i++)
//인덱스에서 t12로 복사를 계속합니다
//중지한 t1
t12[i+t1.length]=t2[i];
for(int i = 0 ; i < t12.length; i++)
System.out.println(t12[i]);
}
}
1
2
3
4
5
6
2) System.arraycopy()
이 방법은 효율적입니다. 원본 테이블에서 대상 테이블로 항목을 복사하는 데 사용할 수 있습니다. 5 개의 인수를 허용합니다 :
- 소스 배열 (t1 및 t2).
- 시작하려는 소스 배열의 위치(이 경우 0).
- 대상 배열(t12).
- 시작하려는 대상 배열의 위치에서.
- t1.lenght의 경우 >0 t2.
- 복사하려는 요소의 수(정지 위치 아님).
public class ConcatArrays {Output
public static void main(String[] args) {
char[] t1 = {'a', 'b','c'};
문자[] t2 = {'d','e','f'};
문자[] t12 = 새 문자[t1.length+t2.length];
//첫 번째 배열의 복사본
System.arraycopy(t1, 0, t12, 0, t1.length);
//두 번째 배열의 복사본 array
System.arraycopy(t2, 0, t12, t1.length, t2.length);
for(int i = 0 ; i < t12.length; i++)
System.out.println(t12[i]);
}
}
aReferences
b
c
d
e
f
Oracle 문서: System
TutorialsPoint: Java.lang.System.arraycopy() 메서드