일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Security
- JPA
- aws
- 오라클
- db
- 생성
- 시큐리티
- 자바
- 프로그래머스
- 넥사크로
- 코틀린
- 에러
- Java
- error
- mybatis
- kotlin
- 함수
- 스프링
- JavaScript
- oracle
- 알고리즘
- IntelliJ
- 방법
- Spring
- 쿼리
- Git
- Vue
- Eclipse
- GitHub
- jquery
- Today
- Total
송민준의 개발노트
Arrays 클래스 본문
출처 및 참고
https://docs.oracle.com/javase/8/docs/api/
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 |