JAVA/포스팅

자바 컬렉션 프레임워크 Arrays

짜집퍼박사(짜박) 2023. 11. 18. 10:50

java.util.Arrays 클래스는 배열과 관련된 유용한 메서드들을 제공하는 유틸리티 클래스입니다. 이 클래스는 배열을 다루는데 도움이 되는 정적 메서드들을 제공합니다.

 

자주 사용되는 Arrays 클래스의 메서드들

 

1. toString(arr) 및 deepToString(arr)

배열의 내용을 문자열로 반환합니다. deepToString은 다차원 배열의 경우 내부 배열까지 문자열로 변환합니다.

int[] intArray = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(intArray));

int[][] multiIntArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
System.out.println(Arrays.deepToString(multiIntArray));

 

2. sort(arr)

배열을 정렬합니다. 기본적으로 오름차순으로 정렬되며, 배열의 타입에 따라 정렬 방식이 달라집니다.

int[] intArray = {5, 2, 9, 1, 5};
Arrays.sort(intArray);
System.out.println(Arrays.toString(intArray));

 

3. binarySearch(arr, key)

이진 검색을 수행하여 배열에서 특정 요소의 인덱스를 찾습니다. 배열은 정렬되어 있어야 합니다.

int[] intArray = {1, 2, 3, 4, 5};
int index = Arrays.binarySearch(intArray, 3);
System.out.println("Index of 3: " + index);

 

4. copyOf(arr, length)

배열의 일부분을 새로운 배열로 복사합니다.

int[] sourceArray = {1, 2, 3, 4, 5};
int[] copyArray = Arrays.copyOf(sourceArray, 3);
System.out.println(Arrays.toString(copyArray));

 

5. equals(arr1, arr2)

두 배열이 같은지 비교합니다. 배열의 내용과 길이가 동일해야 합니다.

int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
System.out.println(Arrays.equals(arr1, arr2));  // true

 

6. fill(arr, value)

배열의 모든 요소를 특정 값으로 채웁니다.

int[] intArray = new int[5];
Arrays.fill(intArray, 42);
System.out.println(Arrays.toString(intArray));  // [42, 42, 42, 42, 42]

 

7. asList(elements)

배열을 고정 크기의 리스트로 변환합니다. 이 리스트는 배열을 래핑하므로 크기가 변경되지 않습니다.

String[] stringArray = {"apple", "banana", "orange"};
List<String> stringList = Arrays.asList(stringArray);

 

8. stream(arr)

배열을 스트림으로 변환합니다. 자바 8부터 도입된 스트림 API를 활용할 수 있습니다.

int[] intArray = {1, 2, 3, 4, 5};
Arrays.stream(intArray)
      .filter(x -> x > 2)
      .forEach(System.out::println);

이외에도 다양한 배열 조작 메서드들이 있으며, 필요에 따라 사용할 수 있습니다.

 

With ChatGPT