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 |