[Java] Arrays 클래스

HONGKYUMIN (ANTHONY)·2022년 8월 17일
0


https://www.topjavatutorial.com/java/java-arrays-class/

java.util.Arrays 클래스

👉 Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있다.
Arrays 클래스의 모든 메소드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있다.
이 클래스는 java.util 패키지에 포함되므로, 반드시 import 문으로 java.util 패키지를 불러오고 나서 사용해야 한다.

Arrays 클래스의 메소드들

🔨Arrays.binarySearch( arr, 값 );

전달받은 arr 배열에서 해당 값의 객체의 위치를 이진 검색 알고리즘을 사용하여 검색한 후, 해당 위치를 반환한다.
이진 검색 알고리즘을 사용하므로, 해당 arr 배열이 sort() 메소드 등을 통해 미리 정렬되어 있어야 한다.

1
2
3
4
5
6
7
8
int[] arr = new int[1000];
 
for(int i = 0; i < arr.length; i++) {
    arr[i] = i;
}
 
System.out.println(Arrays.binarySearch(arr, 437));
//요소 437이 속해있는 인덱스 437을 출력한다.
cs

🔨Arrays.copyOfRange( arr, 시작index, 끝index );

👉 배열을 잘라 복사하는 기능의 메소드.

쉽게 말해 받은 arr의 시작index ~ 끝index 바로 앞까지이다.
마치 문자열을 자르는 subString(i,j) 처럼!

1
2
3
4
5
int[] arr1 = {12345}; 
 
int[] arr2 = Arrays.copyOfRange(arr1, 24);
 
// arr2는 {3, 4} 가 된다.
cs

🔨Arrays.sort( );

👉 배열의 모든 요소를 오름차순으로 정렬한다.

1
2
3
4
int[] arr = {53412};
 
Arrays.sort(arr);
//arr는 {1, 2, 3, 4, 5}가 된다.
cs

🔨Arrays.fill( arr, 값 );

👉 배열의 모든 요소를 해당 값으로 초기화 해준다.

1
2
3
4
int[] arr = new int[10];
 
Arrays.fill(arr, 7);
//arr는 {7, 7, 7, 7, 7, 7, 7, 7, 7, 7}가 된다.
cs

🔨Arrays.copyOf( arr, 길이 );

👉 해당 arr에서 인자로 받은 길이까지의 요소들을 복사한다. (새로운 배열 선언 후 담아줘야 한다.)
❗ 이때 길이는 0부터 시작하는 index가 아닌 1부터 시작하는 길이이다.

1
2
3
4
5
int[] arr1 = {12345};
 
int[] arr2 = Arrays.copyOf(arr1, 3);
 
//arr2 는 {1, 2, 3}이 된다.
cs

🔨Arrays.equals( arr1, arr2 );

👉 arr1 과 arr2 가 같은지 판별한다.

❗ arr1.equals() 와의 차이

1
2
arr1.equals(arr2);
Arrays.equals(arr1, arr2);
cs

1번 라인은 arr1과 arr2가 같은 객체인지.
2번 라인은 arr1과 arr2의 요소들이 같은지.

profile
매일매일 성장하는 개발자

0개의 댓글