본문 바로가기
IT 정보/Java

[Java] Array Class 함수 모음

by 동그리가조아 2022. 5. 27.
반응형

배열을 다루기 위한 메서드의 모음으로 Arrays 클래스의 모든 메서드는 static method이므로, 객체를 생성하지 않고 바로 사용할 수 있다. 단!! import문으로 java.util 패키지를 호출한 뒤에 사용해야 한다. 

 

앞에 Arrays. 메서드명()을 붙여 사용한다. 

  • binarySearch() : 전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘으로 검색하여, 위치를 반환
    단!! 이진 검색 알고리즘이므로, 배열이 sort() 메서드 등을 사용하여 미리 정리되어 있어야 한다. 
  • copyOf() : 전달받은 배열의 특정 길이만큼 새로운 배열로 복사하여 반환한다.
  • copyOfRange() : 특정범위의 해당하는 요소를 새로운 배열로 복사.
  • fill() : 전달받은 배열의 모든 요소를 특정값으로 초기화
  • sort() : 전달받은 배열의 모든 요소를 오름차순으로 정렬

< 대표적인 메소드 >

Arrays.asList(arr) 전달받은 배열을 고정 크기의 리스트(list)로 변환하여 반환함.
static int binarySearch(Object[] a, Object key) 전달받은 배열에서 특정 객체를 이진 검색 알고리즘을 사용하여 검색한 후, 그 위치를 반환함.
static <T> T[] copyOf(T[] original, int newLength) 전달받은 배열을 특정 길이의 새로운 배열로 복사하여 반환함.
static <T> T[] copyOfRange(T[] original, int from, int to) 전달받은 배열의 특정 범위에 해당하는 요소만을 새로운 배열로 복사하여 반환함.
static boolean equals(Object[] a, Object[] a2) 전달받은 두 배열이 같은지를 확인함.
static void fill(Object[] a, Object val) 전달받은 배열의 모든 요소를 특정 값으로 초기화함.
static void sort(Object[] a) 전달받은 배열의 모든 요소를 오름차순으로 정렬함.

 

< Caution >

정적 클래스의 ArrayList를 리턴하려면 
List<String> list = Arrays.asList(arr);
원소를 추가,삭제 할 수 없고 정적이기때문에 크기변환도 불가능
동적으로 크기가 늘어나는 새로운 배열 객체를 만들고 싶다면 아래처럼 해야한다.
List<Character> list = new ArrayList<>(Arrays.asList(arr));
원소를 추가 삭제 또는 arrayList 처럼 사용가능
반응형