Java

[Java] Arrays 클래스의 메소드

Hyeonni 2022. 9. 14. 14:20

Arrays 클래스는 배열을 다루는데 유용한 메서드가 정의되어있다. 같은 기능의 메서드가 매개변수만 다르게 오버로딩 되어 있기 때문에 '자바의 정석'을 보며 간단하게 함수의 기능을 정리해 보았다.

 

 

배열의 복사 

 

  • copyOf() : 배열 전체 복사해서 새로운 배열 만들어 리턴한다.
  • copyOfRange() : 배열의 일부 복사해서 새로운 배열 만들어 리턴한다.

 

배열 채우기

 

  • fill() : 배열의 모든 요소를 지정된 값으로 채운다.
  • setAll() : 배열을 채우는데 사용할 함수형 인터페이스를 매개변수로 받는다. 메서드 호출 시 함수형 인터페이스를 구현한 객체를 매개변수로 지정하던가 아니면 람다식을 지정한다.

 

배열의 정렬과 검색

 

  • sort() : 배열을 기본인 오름차순으로 정렬한다.
  • binarySearch() : 배열에서 지정된 값이 저장된 위치를 찾아서 반환한다. 반드시 배열이 정렬이 된 상태여야 한다. 중복 값이 존재한다면 어느 위치가 리턴될지 알 수 없다.

 

문자열의 비교와 출력

 

  • toString() : 배열의 모든 요소를 문자열로 만들어준다. 일차원 배열만 사용 가능하다.
  • deepToString() : 배열의 모든 요소를 재귀적으로 접근해서 문자열을 구성하므로 다차원 배열도 문자열로 만들어준다.

 

  • equals() : 두 배열에 저장된 모든 요소를 비교해서 같으면 true, 다르면 false를 리턴한다. 일차원 배열에만 사용할 수 있다.
  • deepToEquals() : 다차원 배열에서 모든 요소를 비교해서 같으면 true, 다르면 false를 리턴해준다.

 

배열을 List로 변환

 

  • asList() : 배열을 List에 담아서 리턴한다. 타입이 가변 인수라서 배열 생성 없이 저장할 요소들만 나열하는 것도 가능하다.

 

기타

 

  • parallelXXX() : 보다 빠른 결과를 얻기 위해 여러 쓰레드가 작업을 나누어 처리한다.
  • spliterator() : 여러 쓰레드가 처리할 수 있게 하나의 작업을 여러 작업으로 나누는 Spliterator를 반환한다.
  • stream() : 컬렉션을 스트림으로 변환한다.

 


자바의 정석(남궁성)을 보며 정리한 내용입니다.