import java.util.Arrays;
public class ArrayMerger {
public static void main(String[] args) {
String[] mergered1 = {"1","2","3"};
String[] mergered2 = {"a","b","c","d","e","f"};
String[] mergered3 = {"가","나","다","라"};
String[] copied = new String[mergered1.length+mergered2.length+mergered3.length];
System.arraycopy(mergered1,0,copied,0,mergered1.length);
System.arraycopy(mergered2, 0,copied,mergered1.length,mergered2.length);
System.arraycopy(mergered3,0,copied,mergered1.length+mergered2.length,mergered3.length);
System.out.println(Arrays.toString(copied));
/*
arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
scr : 원본 배열
scrPos : 원본배열을 어디서 부터 복사할지 그 위치(index) 결정
dest : 사본배열
dest : 복사한 요소를 사본배열의 어느 위치(index)부터 채울지 결정
length : 원본배열에서 지정한 위치로부터 순차적으로 몇개의 요소를 복사할 지 결정
*/
}
}
for반복문, 가변인자를 통해 배열을 순서대로 병합하는 함수
import java.util.Arrays;
public class ArrayMerger {
public static void main(String[] args) {
String[] mergered1 = {"1","2","3"};
String[] mergered2 = {"a","b","c","d","e","f"};
String[] mergered3 = {"가","나","다","라"};
String[] mergered4 = {"Aa","Bb","Cc"};
String[] generatedArray = mergerArray(mergered1,mergered2,mergered3,mergered4);
System.out.println(Arrays.toString(generatedArray));
}
public static String[] mergerArray(String[] ... mergered){
// 배열 길이 결정
int length = 0;
for (int i = 0; i < mergered.length-1 ; i++) {
if(i==0) length = mergered[0].length+mergered[1].length;
else length += mergered[i+1].length;
}
String[] generated = new String[length];
// 배열 병합
int index = 0;
for (int i = 0; i <mergered.length-1 ; i++) {
if (i==0){
System.arraycopy(mergered[0],0,generated,0,mergered[0].length);
} else {
index += mergered[i-1].length;
System.arraycopy(mergered[i],0,generated,index,mergered[i].length);
System.arraycopy(mergered[i+1],0,generated,index+mergered[i].length,mergered[i+1].length);
}
}
return generated;
}
}
Collection List를 사용하는 방법
https://k-develpoper.tistory.com/114
[Stream] 정렬 스트림 sorted (0) | 2020.06.18 |
---|---|
[Collection : List] 배열 병합 addAll() (0) | 2020.06.17 |
[Stream 스트림] flatMap() 2차원 배열 내의 1차원 배열 요소의 중간처리 (0) | 2020.06.17 |
[Stream] 스트림 중복 제거 : distinct() 메서드 예제 (0) | 2020.06.17 |
[Stream] 스트림 필터 : filter() 메서드 예제 (0) | 2020.06.17 |
댓글 영역