[JAVA] Arrays 클래스

DANI·2023년 12월 10일
0

JAVA를 공부해보자

목록 보기
20/29
post-thumbnail

📕 Arrays 클래스

Arrays클래스에는 배열을 다루는데 유용한 메서드가 정의되어 있다.
java.util.Arrays

편의기능이라 static이며 final클래스로 되어 있다. 상속을 하지 않음

📑 내부 메서드

  • copyOf(배열, index), copyOfRange(배열, from, to)
  • fill(배열, 값) : 지정된 값으로 모든 요소를 채움
  • setAll(배열, 함수형인터페이스) : 배열을 채우는데 사용할 함수형 인터페이스를 매개변수로 받음
  • sort() : 배열을 정렬할 때 사용
  • binarySearch() : 배열에 저장된 요소를 검색할 때 사용

    binarySearch()는 배열에서 지정된 값이 저장된 위치(index)를 찾아서 반환하는데, 반드시 배열이 정렬된 상태이어야 올바른 결과를 얻는다. binarySearch()는 검색한 값과 일치하는 요소들이 여러 개 있다면, 이 중에서 어떤 것의 위치가 반환될지는 알 수 없다.

  • toString() : 배열의 모든 요소를 문자열로 편하게 출력할 수 있다. 일차원 배열에서만 사용할 수 있다.

  • deepToString() : 배열의 모든 요소를 재귀적으로 접근해서 문자열을 구성하므로 다차원 배열에서도 사용할 수 있다.

  • equals() : 두 배열에 저장된 모든 요소를 비교해서 같으면 true, 다르면 false를 반환한다. 일차원 배열에서만 사용가능하다.

  • deepToEquals() : 다차원 배열에서도 사용할 수 있다.

  • asList() : 배열을 List에 담아서 반환

    asList()가 반환한 List의 크기를 변경할 수 없다(추가 삭제가 불가능) 추가 삭제가 필요하다면 새로운 List를 생성하면 된다.



💾 ArraysEx1

/**
 * 1. 작성자 : Dani
 * 2. 작성일 : 12월 10일
 * 3. Arrays클래스의 기본 문법
 */
package Basics;

import java.util.Arrays;
import java.util.List;
import java.util.function.IntUnaryOperator;

import static java.util.Arrays.*;

public class ArraysEx1 {
    public static void main(String[] args) {
        int[] arr = {0,1,2,3,4};
        int[] arr2 = Arrays.copyOf(arr, arr.length);
        System.out.println(Arrays.toString(arr2));
        int[] arr3 = Arrays.copyOf(arr, 3); // 인덱스 <3 까지 복사
        System.out.println(Arrays.toString(arr3));
        int[] arr4 = Arrays.copyOfRange(arr, 2, 4);
        System.out.println(Arrays.toString(arr4)); // 인덱스 2이상 4미만


        /**
         * fill() : 배열의 모든 요소를 지정된 값으로 채운다.
         */
        int[] fill = new int[5];
        Arrays.fill(fill, 0);
        System.out.println(Arrays.toString(fill));


        /**
         * 제곱하여 저장
         */
        IntUnaryOperator generator = new IntUnaryOperator() {
            @Override
            public int applyAsInt(int operand) {
                return operand * operand;
            }
        };

        /**
         * setAll() : 배열을 채우는데 사용할 함수형 인터페이스를 매개변수로 받는다.
         */
        setAll(arr, generator);
        System.out.println(Arrays.toString(arr));

        /**
         * sort() : 배열의 정렬
         */
        String[] strings = {"z", "A1", "HG", "S", "d", "n", "b"};
        sort(strings);
        System.out.println(Arrays.toString(strings)); // 오름차순

        /**
         * asList() : 배열을 List로 변환
         */
        String[] strings2 = {"z", "A1", "HG", "S", "d", "n", "b"};
        List<String> list = asList(strings2);
        System.out.println(list.stream().toList());

    }
}

🔵 실행결과

[0, 1, 2, 3, 4]
[0, 1, 2]
[2, 3]
[0, 0, 0, 0, 0]
[0, 1, 4, 9, 16]
[A1, HG, S, b, d, n, z]
[z, A1, HG, S, d, n, b]

0개의 댓글