송민준의 개발노트

Arrays 클래스 본문

JAVA

Arrays 클래스

송민준 2019. 10. 31. 11:18

출처 및 참고

https://docs.oracle.com/javase/8/docs/api/

 

Java Platform SE 8

 

docs.oracle.com

 

java.util 패키지의 Arrays 클래스

import 문으로 불러와 사용해야 함

 

binarySearch()

전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘을 사용하여, 해당 위치를 반환함.

이진 검색 알고리즘을 사용하므로, 배열이 sort() 같은 정렬 메소드를 사용하여 미리 정렬되어 있어야 함.

* 특정 인덱스부터 특정 인덱스까지 검색 가능(Arrays.binarySearch(배열, 시작 인덱스, 마지막 인덱스, 키값))

형식) Arrays.binarySearch(배열, 인덱스);

예)    Arrays.binarySearch(array, 2);

 

copyOf()

전달 받은 길이만큼 새로운 배열로 복사(카피)하여 반환함.

만약 전달 받은 길이가 원본배열보다 크다면 기본값으로 채움

char '\u0000'
byte, short, int 0
long 0L
float 0.0F
double 0.0 / 0.0D
boolean false
기타(배열, 개체 등) null

형식) Arrays.copyOf(배열, 길이);

예)    Arrays.copyOf(array, 20);

 

copyOfRange()

배열의 특정 범위에 해당하는 요소만 새로 복사하여 반환함.

형식) Arrays.copyOf(배열, 시작 인덱스, 마지막 인덱스);

예)    Arrays.copyOf(array, 3, 7);         => 7번 전까지 복사됨 : 3~6번까지라는 뜻

 

fill()

배열의 모든 요소를 특정 값으로 초기화 해줌

형식) Arrays.fill(배열, 특정 값);

예)    Arrays.fill(array, 3);

 

sort()

배열을 정렬해줌.(문자도 가능)

형식) Arrays.sort(배열);

예)    Arrays.sort(array);

 

parallelSort()

배열을 병렬정렬해줌.(문자도 가능)

* sort와 차이점은 스레드를 사용하며, 대량의 데이터 처리시에 더욱 효과적임.

형식) Arrays.sort(배열);

예)    Arrays.sort(array);

 

 

asList()

배열을 고정 크기의 리스트로 변환하여 반환함. 크기 변경 불가능

형식) List 이름 = Arrays.asList(배열);

예)    List list = Arrays.asList(array);          ||   Arrays.asList(new Integer[]{1,2,3,4,5}) 등

* 크기 변경 가능한 것은 List list = new ArrayList(Arrays.asList(array));

 

equals()

배열이 같은지 비교한다.

형식) Arrays.equals(배열1, 배열2);

예)    Arrays.equals(array1, array2);

 

deepEquals()

배열이 같은지 비교한다.

equals()와 차이점은 인자값이 2차원 배열이라는 가정 하에

equals()의 경우 2차원 배열의 원소들의 번지 비교를 하는데 그 원소들이 배열임을 감안 안함

deepEquals()는 내부 원소들이 배열임을 감안한다.

형식) Arrays.deepEquals(배열1, 배열2);

예)    Arrays.deepEquals(array1, array2);

 

hashCode()

해쉬코드를 반환한다. deepHashCode도 있음

형식) Arrays.hashCode(배열1, 배열2);

예)    Arrays.hashCode(array1, array2);

 

toString()

배열의 모든 요소를 문자열로 출력함, 1차원 배열만 가능

형식) Arrays.toString(배열);

예)    Arrays.toString(array);

 

deepToString()

배열의 모든 요소를 문자열로 출력함, 2차원 이상의 배열 가능

형식) Arrays.deepToString(배열);

예)    Arrays.deepToString(array);

 

setAll()

배열을 채우는데 사용할 메소드를 매개변수로 받는다.

형식) Arrays.setAll(배열, 메서드);

예)    Arrays.setAll(arr, i -> (int)(Math.random()*6)+1);

 

spliterator()

여러 쓰레드가 처리할 수 있게 하나의 작업을 여러 작업으로 나누는 Spliterator를 반환

범위 지정가능

형식) Arrays.spliterator(배열);

예)    Arrays.spliterator(array);

 

stream()

배열을 스트림으로 반환

범위 지정가능

형식) Arrays.stream(배열);

예)    Arrays.stream(array);

'JAVA' 카테고리의 다른 글

JAVA에서 SFTP 활용하기!! CSV 파일 적용(JSch 사용)  (0) 2020.11.08
String 클래스 isEmpty 메소드  (2) 2020.04.16
JavaBean  (0) 2019.11.12
ASCII Table  (0) 2019.11.10
배열 빈칸 없애는 코드  (0) 2019.11.03