코드일기장

Java_Arrays class 본문

Java

Java_Arrays class

codeStudy123 2021. 10. 4. 23:42

Java Arrays 클래스에 대해 알아보자.

 

기본적으로 java.util 패키지를 사용해 Arrays 클래스를 사용할 수 있게 해야 한다.

 


  • binarySearch() 메서드

binarySearch()는 전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘 사용하여 검색한 후, 해당 위치를 변환한다. 

이 메서드는 sort() 메서드 등을 사용하여 미리 정렬되어 있어야 한다.

binarySearch()메소드 예시 코드
예시 코드 출력값

위 코드는 arr배열에 특정 값 10을 찾고 해당 위치를 변환하는 코드이다. 특정값 10은 i*2=10 i=5이므로 출력 값이 5가 나온 것이다.   

Arrays.binarySearch(배열, 특정값)

 


 

  • copyOf() 메소드

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의 바로 앞(전)까지만 복사된다.

copyOfRange() 예시코드

copyarr3는 arr3배열의 index값 0부터 3 바로 전! 요소 값으로는 3까지 복사한다.

 

 

복사받을 배열= Arrays.copyOfRange(복사할 배열, 시작점 index, 끝점 index)

 


 

  • fill() 메소드

fill() 메서드는 배열의 모든 요소를 특정 값으로 초기화해주는 메서드이다.

첫 번째 매개변수는 초기화할 배열, 그다음 매개변수는 초기값

따라서 이 메서드는 전달받은 원본 배열의 값을 변경하게 됩니다.

fill()메소드 예시코드
출력

arr4는 초기화가 안된 상태이다. Arrays.fill로 인해 arr4의 모든 요소들은 다 5의 값으로 초기화가 되었다.

 

Arrays.fill(초기화해줄 배열, 특정 값)

 

 


 

  • sort() 메소드

sort로 전달받은 메서드는 오름차순으로 정렬된다.

 

sort() 메소드 예시코드
출력

arr5는 질서 없이 값이 난해하게 정렬되어 있다. Arrays.sort()로 오름차순으로 정렬이 되어서 출력으로 1,5,9,15,100이 출력

 

Arrays.sort(오름차순으로 정렬할 배열)

 

 


 

Arrays 클래스는 주기적으로 업데이트를 하겠습니다.

 

/*썸네일 이미지는 Java 대표 로고 이미지입니다.*/

Java로고 이미지

Comments