반응형

자바에서 배열은 동적으로 사이즈를 조절 할 수 없으니 상당히 애를 먹게 된다.


이번에도 크기를 고정할 수 없는 두개의 배열을 한개의 배열로 합치는 것에 대해서 검색 후 기록으로 남긴다.




자바에서 기본적으로 제공 하는 System 내 arraycopy 함수를 사용한다.


실제 사용한 소스는 다음과 같다.

Tos1 과 Tos2 는 DB에서 리턴 되는 값에 따라 크기가 결정되고 배열이 만들어진다.


그 후 하나로 합칠 배열 Tos 는 Tos1과 Tos2의 크기를 합친 만큼의 배열로 만든뒤 


arraycopy 함수를 써서 두개의 배열을 합친다.


String[] Tos1 = userMgrService.getUserType3Mail(pramMap);
String[] Tos2 = userMgrService.getPerinchaMail(pramMap);
String[] Tos = new String[Tos1.length + Tos2.length];
System.arraycopy(Tos1,0,Tos,0,Tos1.length);
System.arraycopy(Tos2,0,Tos,Tos1.length,Tos2.length);




arraycopy 함수의 요소는 다음과 같다

2. System.arraycopy() 요소

 

Object src : 복사하고자 하는 소스입니다. 원본이라고 생각하면 됩니다.

 

int srcPos : 위의 소스에서 어느 부분부터 읽어올지 위치를 정해줍니다.

 

Object dest : 원본이 있다면 복사본이 있어야겠지요. 복사하려는 대상입니다.

 

int destPos : 위의 dest에서 자료를 받을 때, 어느 부분부터 쓸지 시작 위치를 정해줍니다.

 

int length : 원본에서 복사본까지 얼마큼 읽어 올지 입력하는 것 입니다.

 

간단하게 앞의 2개는 src(원본)에 관한 것이고, 그 뒤에 2개는 dest(복사본), 마지막으로 length는 가져올 길이라고 생각하면 됩니다.

출처 : http://forum.falinux.com/zbxe/index.php?document_srl=571358&mid=lecture_tip

반응형

+ Recent posts