[Java] java.util.Arrays 클래스

thezz9·2025년 3월 6일
0

java.util 패키지와 Arrays 클래스에 대해 알아보자.

java.util 패키지란?

java.util 패키지는 프로그램을 개발하는 데 유용한 유틸리티 클래스들이 포함되어 있는 패키지다.
실제로 java.lang 패키지 다음으로 가장 많이 사용되는 패키지이며, import 문 없이 사용할 수 있는 java.lang 패키지와는 달리 java.util 패키지는 반드시 import 문을 작성해야 한다.


java.util.Arrays 클래스

Arrays 클래스는 배열을 다루기 위한 다양한 메서드를 제공하는 클래스다.
이 클래스의 모든 메서드는 클래스 메서드 (static method)이므로, 객체 생성없이 사용할 수 있다.

java.util.Arrays 주요 메서드

메서드설명
toString()배열을 문자열로 변환하여 출력
sort()배열을 오름차순 정렬
binarySearch()정렬된 배열에서 특정 값을 이진 탐색하여 인덱스 반환
copyOf(arr, length)배열을 특정 길이만큼 복사하여 새로운 배열 반환
copyOfRange(arr, start, end)배열의 특정 범위 요소만 복사하여 새로운 배열 반환
equals(arr1, arr2)두 배열이 같은지 비교
fill(arr, value)배열의 모든 요소를 특정 값으로 채움
asList(arr)배열을 List로 변환

java.util.Arrays 활용 예제

정수를 내림차순으로 정렬하기

// 정수를 내림차순으로 배치하기
import java.util.Arrays;
import java.util.Collections;

class Solution {
    public long solution(long n) {
        String[] str = String.valueOf(n).split("");
        // sort() 메서드로 오름차순 정렬 후, 
        // Collections.reverseOrder()로 내림차순 정렬
        Arrays.sort(str, Collections.reverseOrder());
        return Long.parseLong(String.join("", str));
    }
}
  • sort() 메서드를 사용해 문자열 배열을 정렬
  • Collections.reverseOrder()를 활용해 내림차순 정렬

특정 숫자로 나누어 떨어지는 요소만 포함한 배열 만들기

import java.util.Arrays;

// arr의 요소 중 divisor의 값으로 나누어 떨어지는 요소로만 새로운 배열 생성 후 오름차순 정렬
class Solution {
    public int[] solution(int[] arr, int divisor) {
        int[] answer = {}; // 길이가 0인 배열 선언
        int i = 0;
        for (int result : arr) {
            if (result % divisor == 0) {
            	// copyOf() 메서드를 이용해 배열 크기 1 증가 후 값 추가
                answer = Arrays.copyOf(answer, answer.length + 1);
                // answer 배열의 길이 -1번째 인덱스에 대입
                answer[answer.length - 1] = result;
            }
        }
        // 나누어 떨어지는 요소가 없을 경우 -1을 추가
        if (answer.length == 0) {
            answer = Arrays.copyOf(answer, answer.length + 1);
            answer[answer.length - 1] = -1;
        }
        // 배열 오름차순 정렬
        Arrays.sort(answer);
        return answer;
    }
}
  • copyOf() 메서드를 사용해 배열 크기를 동적으로 변경
  • 조건에 맞는 요소만 저장한 후, 최종적으로 sort()로 정렬
  • answer 배열이 비어 있다면, -1을 추가해 반환

내가 직접 문제를 풀면서 작성한 코드들이다.
특히 배열을 다뤄야 하는 문제에서 매우 유용하게 쓰인다.
배열을 다뤄야 하는 문제가 나오면 여러 번 사용해 보며 손에 익혀 보자.

profile
개발 취준생

0개의 댓글