본문 바로가기
부트캠프/코드스테이츠 백엔드부트캠프 43기

코드스테이츠 백엔드 부트캠프 43기 (8일차-Java 회고)

by 고구마는호박고구마 2022. 12. 26.
배열

 

오늘 배운 배열 메서드

 

System.arraycopy(src, srcPos, dest, desPos,length) 

// 새로운 배열을 리턴하는게 아님 , 두 배열을 합칠때 유용함

arr1 = {1,2}

arr2 = {3,4}

두 ARRAY 배열을 붙여서 하나의 ARRAY3 배열로 만들고 싶을 때 ARRAY3 = {1,2,3,4} 되기를 원함

System.arraycopy(arr2, 0, arr1, 0, arr1.length); 
//  arr1 배열의 0번째 부터 arr2배열에, 0번째 위치부터 시  작,  복사하려는 길이인 arr1.length 길이만큼 복사 
// 최종적으로 array3 에는 [1],[2] 로 복사됨
 
 
 
int[] arr1 = {1,2,0,0};
int[] arr2 = {3,4};
System.arraycopy(arr2, 0, arr1, 2, arr2.length);
//1234 

int[] arr1 = {1,2};
int[] arr2 = {3,4};
System.arraycopy(arr2, 0, arr1, 2, arr2.length);
//arr1의 2인덱스 부터 시작인데 arr.length가 2이므로 outOfindex 오류 발생

 



Arrays.copyOfRange()

//새로운 배열을 리턴 , 배열의 한 부분을 자를때 유용함

현재 배열에서 어느 부분만 있는 배열을 리턴하고 싶을 때

int[] arr = {1, 2, 3, 4};

이 배열에서 새로운 배열로 마지막 원소는 제외하고 만들고 싶음 int[] new_a = {1,2,3} 이런식으로

int[] new_a = Arrays.copyOfRange(arr, 0, arr.length-1);

원하는 배열인 , 위치가 0 부터, arr.length-1 까지 복사된 배열을 리턴한다.

 

new_a = {1,2,3}의 값이 저장됨.

댓글