자바 Arrays 클래스

오세훈·2023년 7월 25일
0

java

목록 보기
9/16

Arrays

이 클래스에는 배열을 조작하기 위한 다양한 메서드(예: 정렬 및 검색)가 포함되어 있습니다. 이 클래스에는 배열을 목록으로 볼 수 있도록 하는 정적 팩터리도 포함되어 있습니다.

NullPointerException명시된 경우를 제외하고 지정된 배열 참조가 null인 경우 이 클래스의 메서드는 모두 를 발생시킵니다 .

이 클래스에 포함된 메소드에 대한 문서에는 구현 에 대한 간략한 설명이 포함되어 있습니다 . 이러한 설명은 사양 의 일부가 아니라 구현 참고 사항 으로 간주되어야 합니다 . 구현자는 사양 자체를 준수하는 한 자유롭게 다른 알고리즘을 대체할 수 있어야 합니다. (예를 들어, 에서 사용하는 알고리즘은 MergeSort일 필요는 없지만 안정적 이어야 합니다 .) sort(Object[])

이 클래스는 Java Collections Framework 의 멤버입니다 .

Arrays

package sec5;

import java.util.Arrays;

public class ArraysEx1 {
    public static void main(String[] args) {
        char[] arr1 = {'k','i', 'm','j', 'a', 'v', 'a'}; // String
        System.out.println(arr1);
        System.out.println();

        char[] arr2 = arr1; // arr1의 주소를 전달, 얕은 복제
        // 얕은 복제: 다른곳에 같은 데이터를 복제하는 것이 아니라
        // 이미 저장되어 있는 데이터의 주소만을 다른 변수에 저장
        // 그로므로 실제 기억된 데이터는 1개만 존재

        System.out.println(arr2);
        System.out.println(arr1.hashCode()); // 주소
        System.out.println(arr2.hashCode());
        System.out.println(arr1==arr2); // 주소가 같음
        System.out.println();

        char[] arr3 = Arrays.copyOf(arr1, arr1.length); // arr1의 모든 요소 복사
        System.out.println(arr3);
        System.out.println(arr3.hashCode());
        System.out.println(arr1==arr3); // 배열의 주소 비교, 주소가 다름
        System.out.println(Arrays.equals(arr1, arr3)); // 배열의 값 비교

        int[] points = {80, 90, 54, 30, 21, 1, 5, 99};
        System.out.println("정렬 전 : "+Arrays.toString(points));
        Arrays.sort(points); // 배열 정렬
        System.out.println("정렬 후 : "+Arrays.toString(points));
        System.out.println("54는 어디에 : "+Arrays.binarySearch(points, 54)); // 54를 찾아라, 반환값 :
        // 인덱스
    }
}
profile
자바 풀 스택 주니어 개발자

0개의 댓글