Arrays
배열을 다루기 편한 static메서드를 제공한다.
배열의 출력
toString()
static String toString(boolean[] a)
static String toString(byte[] a)
static String toString(char[] a)
...
...
static String toString(Object[] a)
println메서드처럼 모든 타입을 출력할 수 있게 오버로딩 되어 있다.
배열 복사
- copyOf()
배열 전체를 복사한다. - copyOfRange()
배열 일부를 복사한다.
int[] arr = {0,1,2,3,4};
int[] arr2 = Arrays.copyOf(arr, arr.length); //0,1,2,34
int[] arr3 = Arrays.copyOf(arr,3) //0,1,2
int[] arr4 = Arrays.copyOf(arr,7) //0,1,2,3,4,0,0
int[] arr5 = Arrays.copyOfRange(arr, 2, 4); //2,3
int[] arr6 = Arrays.copyOfRange(arr,0,7); //0,1,2,3,4,0,0
배열 채우기
- fill()
배열의 모든 요소를 지정한 값으로 채운다. - setAll()
배열을 채우는 데 사용할 함수형 인터페이스를 매개변수로 받는다. 이 말은 함수형 인터페이스를 구현한 객체 또는 람다식을 지정해야 한다는 것이다.
int[] arr = new int[5];
Arrays.fill(arr, 9); // [5,5,5,5,5]
Arrays.setAll(arr, ()->(int)(Math.random()*5)+1; //1-5사이 임의의 수 5개 저장.
배열을 List로 변환
- asList(Object... a)
배열을 List로 반환한다. 매개변수의 타입 가변인수여서 배열 생성 없이 저장할 요소들만 나열하는 것도 가능하다.
asList()로 반환한 List는 크기를 변경할 수 없다.List list = Arrays.asList(new Integer[]{1,2,3,4,5}); List list2 = Arrays.asList(1,2,3,4,5); list.add // Error.
크기를 변경할 수 있는 List를 반환해야 한다면 이렇게 한다.List list = new ArrayList(Arrays.asList(1,2,3,4,5));
'Java' 카테고리의 다른 글
HashSet (0) | 2020.09.09 |
---|---|
Comparable & Comparator (0) | 2020.09.09 |
List (0) | 2020.09.09 |
Stack & Queue (0) | 2020.09.09 |
Collections Framework - 핵심 인터페이스 (0) | 2020.09.09 |