Java

[Java] Arrays 클래스

씬프 2021. 5. 24. 11:14
반응형

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

static 클래스로 인스턴스 생성하지 않아도 사용할 수 있다.

 

배열의 복사

배열을 복사하는 메서드.

copyOf(Object[] arr) : 배열 전체를 복사한다.

copyOf(Object[] arr, int size) : 배열을 size만큼 복사한다.

copyOfRange(Object[] arr, int from, int to) : from부터 to 이전까지 (to는 미포함)

 

배열 채우기

fill(Object[] o, Object value) : 주어진 배열을 value로 채운다. (배열 타입에 주의)

setAll(Object[] o, Function lambda) : 람다식이 반환한 결과 값으로 배열을 채운다.

int[] arr = new int[5];
Arrays.setAll(arr, () -> (int)Math.random()*5 + 1);

 

배열의 정렬과 검색

sort(Object[] o) : 배열을 정렬한다.

binarySearch(Object[] o, Object e) : 배열에서 찾으려는 값의 인덱스를 반환한다. 단, 배열이 정렬되어 있어야 한다.

 

배열의 비교와 출력

equals(Object[] o1, Object[] o2) : 배열이 같은 배열인지 확인한다. 1차원 배열일 경우.

deepToEquals(Object[][] o1, Object[][] o2) : 다차원 배열의 경우에 배열이 같은 배열인지 확인한다.

toString(Object[] o) : 배열을 출력한다. ( [e1, e2, e3, e4, ... ] 와 같은 형태)

deepToString(Object[][] o) : 다차원 배열을 출력한다.

 

배열을 리스트로 변환

asList(Object... o) : 배열을 리스트로 반환한다. 매개변수가 가변인수로 배열이 아니더라도 값을 여러개 전달해도 된다. 단, 반환된 리스트는 크기를 변경할 수 없다. 추가 삭제 시 예외가 발생한다.

반환되는 리스트를 ArrayList 객체로 생성하면 리스트와 같이 사용할 수 있다.

//Error
// List list = Arrays.asList({1,2,3,4,5});

List list = Arrays.asList(new Integer[]{1,2,3,4,5});

int[] arr = {1,2,3,4,5};
List list = Arrays.asList(arr);

 

'Java' 카테고리의 다른 글

[Java] TreeSet 클래스  (0) 2021.05.26
[Java] Comparator와 Comparable  (0) 2021.05.25
[Java] LinkedList  (0) 2021.05.22
[Java] ArrayList  (0) 2021.05.21
[Java] java.time 패키지  (0) 2021.05.20