Java_Arrays class
Java Arrays 클래스에 대해 알아보자.
기본적으로 java.util 패키지를 사용해 Arrays 클래스를 사용할 수 있게 해야 한다.
- binarySearch() 메서드
binarySearch()는 전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘 사용하여 검색한 후, 해당 위치를 변환한다.
이 메서드는 sort() 메서드 등을 사용하여 미리 정렬되어 있어야 한다.
위 코드는 arr배열에 특정 값 10을 찾고 해당 위치를 변환하는 코드이다. 특정값 10은 i*2=10 i=5이므로 출력 값이 5가 나온 것이다.
Arrays.binarySearch(배열, 특정값)
- copyOf() 메소드
copyOf() 메서드는 전달받은 배열의 특정 길이만큼을 새로운 배열로 복사하여 반환한다.
copyOf() 메소드는 첫 번째 매개변수로 원본 배열을 전달받고, 두 번째 매개변수는 원본 배열의 복사할 요소의 개수를 전달받는다.
위 코드는 1,3,5,6,7번째 줄만 주의 깊게 보자. 3번째 줄 copyarr1 []는 Arrays.copyOf(arr1,4); 즉, arr1 배열에서 요소 4개를 복사해 온다는 소리이다. 그래서 출력으로 1,2,6,4 4개만 출력된 것을 확인할 수 있다.
만약 복사할 요소의 개수가 배열의 개수보다 많으면 어떻게 될까? 함 해보자!
copyOf() 메서드 예시 코드 2번째 줄은 총 5개의 값을 지니고 있는데 4번째 줄 copyarr2 []는 10개나 복사하려고 한다.
5개까지는 복사가 잘 되지만 값이 없는 걸 복사할 때는 기본값으로 받는다는 것을 확인할 수 있다. 0을 출력하기 때문
복사할 곳 배열 = Arrays.copyOf(복사할 배열, 복사할 요소의 개수)
- copyOfRange() 메소드
copyOfRange() 메서드는첫 번째 매개변수로 복사할 메서드의 시작점 index값 두 번째 매개변수로 끝점 index값
주의할 점, 끝점 index는 그 index의 바로 앞(전)까지만 복사된다.
copyarr3는 arr3배열의 index값 0부터 3 바로 전! 요소 값으로는 3까지 복사한다.
복사받을 배열= Arrays.copyOfRange(복사할 배열, 시작점 index, 끝점 index)
- fill() 메소드
fill() 메서드는 배열의 모든 요소를 특정 값으로 초기화해주는 메서드이다.
첫 번째 매개변수는 초기화할 배열, 그다음 매개변수는 초기값
따라서 이 메서드는 전달받은 원본 배열의 값을 변경하게 됩니다.
arr4는 초기화가 안된 상태이다. Arrays.fill로 인해 arr4의 모든 요소들은 다 5의 값으로 초기화가 되었다.
Arrays.fill(초기화해줄 배열, 특정 값)
- sort() 메소드
sort로 전달받은 메서드는 오름차순으로 정렬된다.
arr5는 질서 없이 값이 난해하게 정렬되어 있다. Arrays.sort()로 오름차순으로 정렬이 되어서 출력으로 1,5,9,15,100이 출력
Arrays.sort(오름차순으로 정렬할 배열)
Arrays 클래스는 주기적으로 업데이트를 하겠습니다.
/*썸네일 이미지는 Java 대표 로고 이미지입니다.*/