Arrays

코코·2020년 7월 30일
0

Java

목록 보기
12/25
post-custom-banner

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로 반환한다. 매개변수의 타입 가변인수여서 배열 생성 없이 저장할 요소들만 나열하는 것도 가능하다.
List list = Arrays.asList(new Integer[]{1,2,3,4,5});
List list2 = Arrays.asList(1,2,3,4,5);
list.add	// Error.

asList()로 반환한 List는 크기를 변경할 수 없다.
크기를 변경할 수 있는 List를 반환해야 한다면 이렇게 한다.

List list = new ArrayList(Arrays.asList(1,2,3,4,5));
post-custom-banner

0개의 댓글