JAVA

Arrays 클래스

dabin 2020. 12. 23. 17:38

Arrays 클래스에는 배열을 다루는데 유용한 메서드가 정의되어 있다.

 

toString()

배열의 모든 요소를 문자열로 출력. 일차원 배열에 사용.

 

deepToString()

배열의 모든 요소를 문자열로 출력. 다차원 배열에 사용.

 

int[] arr = { 1,2,3,4,5 };
int[][] arr2D = {{11,22}, {21,22}};

System.out.println(Arrays.toString(arr));
System.out.println(Arrays.deepToString(arr2D));

 

fill()

배열의 모든 요소를 지정된 값으로 채움.

 

int[] arr = new int[5];
Arrays.fill(arr, 9); // arr = [9,9,9,9,9]

 

sort()

배열을 오름차순으로 정렬

 

binarySearch()

배열에 저장된 요소를 검색. 배열에서 지정된 값이 저장된 위치를 반환한다. 반드시 정렬된 상태에서 사용할 것!!

 

int[] arr = { 3,2,0,1,4 };
int idx = Arrays.binarySearch(arr, 2); // 이와 같이 사용하면 잘못된 결과 나옴

// 배열 정렬 -> 요소 검색하기
Arrays.sort();
System.out.println(Arrays.toString(arr)); // [0,1,2,3,4]
int idx = Arrays.binarySearch(arr, 2); // idx = 2

 

copyOf()

배열 전체를 복사

 

copyOfRange()

배열 일부를 복사

 

int[] arr = { 0,1,2,3,4 };
int[] arr2 = Arrays.copyOf(arr, arr.length); // arr2 = [ 0,1,2,3,4 ]
int[] arr3 = Arrays.copyOf(arr, 3); // arr3 = [ 0,1,2 ]
int[] arr4 = Arrays.copyOfRange(arr, 2, 4); // arr4 = [ 2,3 ]