본문 바로가기
IT/Java

Java, 배열의 조작을 도와주는 Arrays

by Cyber_ 2024. 11. 22.

Intro

보통 자바에서 배열을 선언하면 아래와 같이 선언한다.

int[] Arr;
int[] arr1, arr2;

 

하지만 배열을 정렬하거나, 배열 내용을 문자열로 반환하거나 하는 경우엔 직접 구현해야할까?

Arrays

Arrays를 활용하면 직접 구현할 필요없이 메소드를 활용하여 원하는 결과를 도출해 낼 수 있다. 아래는 Arrays의 주요 기능들이다.

import java.util.Arrays;

Sorting

Arrays.sort(array);

 

정렬 함수는 배열의 요소들을 오름차순을 정렬합니다. 자바는 내부적으로 퀵 정렬과 병합 정렬을 변형한 형태를 사용하여 정렬을 수행하며, 이는 대부분의 경우 매우 효율적입니다.

Searching

int index = Arrays.binarySearch(array, 4);

 

검색 함수는 정렬된 배열에서 특정 값의 인덱스를 이진 검색방식으로 찾습니다. 배열이 정렬되어 있지 않다면 결과는 정의되지 않습니다. 만약 요소가 배열에 없으면, 결과는 -inserttionPoint - 1 로 반환되어, 삽입 포인트를 알 수 있습니다.

Comarsion

boolean isEqual = Arrays.equals(array1, array2);

 

두 배열의 길이와 각 요소가 동일한지 비교하여 두 배열이 같으면 true, 다르면 false를 반환합니다.

Copying

int[] copied = Arrays.copOf(original, 5);

 

복사 함수는 원본 배열의 지정된 길이만큼을 새로운 배열로 복사하여 반환합니다. 만약 지정된 길이가 원본 배열의 길이보다 길면, 나머지 공간은 기본값으로 채워집니다.

Conversion to List

String[] array = {"apple", "banana", "cherry"};
List<String> list = Arrays.asList(array);
list.set(0, "date"); // 배열도 변경됨
// array: {"date", "banana", "cherry"}

 

리스트 변환 함수는 배열을 고정 크기의 리스트로 변환합니다. 이 리스트는 원본 배열과 밀접하게 연겨로디어 있으며, 리스트를 통한 변경이 배열에도 영향을 미칩니다. 배열을 리스트로 변환하면 컬렉션 API를 사용할 수 있습니다.

toString

int[] array = {1, 2, 3};
String result = Arrays.toString(array);
// result: "[1, 2, 3]"

 

문자열 변환 함수는 배열의 내용을 문자열 형태로 표현하여 출력하기 쉽게 합니다. 배열의 각 요소를 순서대로 문자열을 결합하여 반환 합니다.