코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java Arrays Methods

자바에서의 배열 메서드 (Java Arrays Methods)

자바에서 배열은 고정된 크기의 동일한 데이터 타입의 집합을 저장할 수 있는 자료구조입니다. 자바는 배열을 다루기 위한 다양한 메서드를 제공하며, 배열을 쉽게 조작할 수 있습니다. 자바에서는 배열을 위한 Arrays 클래스를 통해 유용한 메서드를 제공하며, 배열과 관련된 다양한 작업을 수행할 수 있습니다.

배열 생성 및 기본 사용법

자바 배열은 리터럴 또는 new 키워드를 사용해 생성할 수 있습니다. 배열의 크기는 한 번 설정되면 변경할 수 없으므로, 고정된 크기를 가지고 있습니다.

배열 생성 예시

public class Main {
    public static void main(String[] args) {
        // 배열 생성 방법 1: 배열 리터럴 사용
        int[] numbers1 = {1, 2, 3, 4, 5};

        // 배열 생성 방법 2: new 키워드를 사용하여 배열 생성
        int[] numbers2 = new int[5];  // 크기가 5인 배열 생성
        numbers2[0] = 10;
        numbers2[1] = 20;
        numbers2[2] = 30;

        // 배열 출력
        for (int num : numbers1) {
            System.out.println(num);
        }
    }
}

설명:

  • 배열은 0부터 시작하는 인덱스를 가지며, 각 요소에 접근할 수 있습니다.
  • 배열을 생성할 때, 배열의 크기는 고정되어 있어 한 번 설정하면 변경할 수 없습니다.

Arrays 클래스의 주요 메서드

자바는 배열을 다루기 위한 유틸리티 클래스인 **

.util.Arrays**를 제공합니다. 이 클래스는 배열과 관련된 다양한 작업을 쉽게 할 수 있도록 메서드를 제공합니다.

1. Arrays.toString(): 배열을 문자열로 변환

Arrays.toString() 메서드는 배열을 문자열 형태로 변환하여 출력할 수 있도록 합니다. 배열을 출력할 때 유용하게 사용할 수 있습니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        // 배열을 문자열로 변환하여 출력
        System.out.println(Arrays.toString(numbers));
    }
}

출력:

[1, 2, 3, 4, 5]

설명:

  • Arrays.toString()은 배열의 요소들을 콤마로 구분하고, 대괄호로 묶어 문자열로 변환합니다.

2. Arrays.sort(): 배열 정렬

Arrays.sort() 메서드는 배열의 요소들을 오름차순으로 정렬합니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {5, 3, 1, 4, 2};

        // 배열을 오름차순으로 정렬
        Arrays.sort(numbers);

        // 정렬된 배열 출력
        System.out.println(Arrays.toString(numbers));
    }
}

출력:

[1, 2, 3, 4, 5]

설명:

  • 오름차순으로 정렬되며, 숫자뿐만 아니라 문자열 배열도 정렬할 수 있습니다.

3. Arrays.equals(): 배열 비교

Arrays.equals() 메서드는 두 배열이 같은지 여부를 확인합니다. 배열의 길이와 각 요소들이 모두 같을 때 true를 반환합니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers1 = {1, 2, 3};
        int[] numbers2 = {1, 2, 3};
        int[] numbers3 = {4, 5, 6};

        // 배열 비교
        System.out.println(Arrays.equals(numbers1, numbers2));  // true
        System.out.println(Arrays.equals(numbers1, numbers3));  // false
    }
}

출력:

true
false

설명:

  • 배열의 크기와 각 요소의 값을 모두 비교합니다.
  • 다차원 배열을 비교할 때는 **Arrays.deepEquals()*를 사용할 수 있습니다.

4. Arrays.fill(): 배열의 모든 요소를 특정 값으로 채우기

Arrays.fill() 메서드는 배열의 모든 요소를 특정 값으로 채웁니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = new int[5];

        // 배열의 모든 요소를 7로 채우기
        Arrays.fill(numbers, 7);

        System.out.println(Arrays.toString(numbers));  // [7, 7, 7, 7, 7]
    }
}

출력:

[7, 7, 7, 7, 7]

설명:

  • 배열의 모든 요소를 동일한 값으로 초기화할 때 유용합니다.

5. Arrays.copyOf(): 배열 복사

Arrays.copyOf() 메서드는 배열을 복사하여 새로운 배열을 생성합니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] original = {1, 2, 3, 4, 5};

        // 배열 복사
        int[] copy = Arrays.copyOf(original, original.length);

        System.out.println(Arrays.toString(copy));  // [1, 2, 3, 4, 5]
    }
}

출력:

[1, 2, 3, 4, 5]

설명:

  • *original.length*로 복사할 배열의 크기를 지정합니다.
  • 일부만 복사할 수도 있으며, 크기를 변경할 수 있습니다.

6. Arrays.binarySearch(): 배열에서 요소 검색

Arrays.binarySearch() 메서드는 정렬된 배열에서 특정 값이 있는 인덱스를 찾습니다. 배열은 반드시 정렬되어 있어야 합니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        // 배열에서 값 3을 이진 검색
        int index = Arrays.binarySearch(numbers, 3);

        System.out.println("3의 위치: " + index);  // 출력: 2 (인덱스는 0부터 시작)
    }
}

출력:

3의 위치: 2

설명:

  • 배열이 정렬되어 있을 때만 사용 가능하며, 이진 탐색 알고리즘을 사용하여 검색 성능이 빠릅니다.

7. Arrays.deepToString(): 다차원 배열 출력

Arrays.deepToString() 메서드는 다차원 배열을 문자열로 변환하여 출력할 수 있도록 합니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

        // 다차원 배열을 문자열로 출력
        System.out.println(Arrays.deepToString(matrix));
    }
}

출력:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

설명:

  • 다차원 배열을 재귀적으로 순회하여 문자열로 변환합니다.

8. Arrays.deepEquals(): 다차원 배열 비교

Arrays.deepEquals() 메서드는 다차원 배열을 재귀적으로 비교하여 두 배열이 동일한지 확인합니다.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] matrix1 = {{1, 2}, {3, 4}};
        int[][] matrix2 = {{1, 2}, {3, 4}};
        int[][] matrix3 = {{5, 6}, {7, 8}};

        // 다차원 배열 비교
        System.out.println(Arrays.deepEquals(matrix1, matrix2));  // true
        System.out.println(Arrays.deepEquals(matrix1, matrix3));  // false
    }
}

출력:

true
false

설명:

  • 재귀적으로 배열의 각 요소를 비교하여 동일한지 확인합니다.

요약

  • Arrays.toString(): 배열을 문자열로 변환하여 출력.
  • Arrays.sort(): 배열을 오름차순으로 정렬.
  • Arrays.equals(): 두 배열이 같은지 비교.
  • Arrays.fill(): 배열의 모든 요소를 특정 값으로 채움.
  • Arrays.copyOf(): 배열을 복사하여 새로운 배열 생성.
  • Arrays.binarySearch(): 정렬된

배열에서 특정 요소를 이진 탐색으로 찾음.

  • Arrays.deepToString(): 다차원 배열을 문자열로 변환하여 출력.
  • Arrays.deepEquals(): 다차원 배열을 재귀적으로 비교.

자바의 Arrays 클래스는 배열을 다루는 데 필요한 다양한 메서드를 제공하며, 이를 통해 배열을 쉽게 조작하고 사용할 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com