배열 특징

  • 배열은 같은 타입의 데이터만 저장할 수 있다.
  • 한번 생성된 배열의 크기는 불변이다.

배열 선언

배열 선언시 배열의 크기를 정해야 한다.

int[] arr = new int[10];

값을 바로 넣어 아래와 같이 넣을 수 있다.

int[] arrInit = {1,2,3,4,5};

배열 길이

  • 배열의 길이는 .length로 호출한다, length()가 아님을 주의
int[] arr = new int[10];
System.out.println(arr.length);
// 10

배열 출력

  • Arrays.toString() 메서드를 통해 출력
System.out.println(Arrays.toString(arrInit));
// [1, 2, 3, 4, 5]

배열 랜덤 숫자 넣기

  • Random을 사용하여 더미 값을 쉽게 만들자
Random random = new Random();  
for (int i = 0; i < arr.length; i++) {  
    arr[i] = random.nextInt(10);  
}  

Arrays 유틸

배열 슬라이싱

  • Arrays.copyOfRange를 활용하자
int[] arrInit = {1,2,3,4,5,6};
int[] arr1 = Arrays.copyOfRange(arrInit, 0, arrInit.length / 2);  
int[] arr2 = Arrays.copyOfRange(arrInit, arrInit.length/2, arrInit.length);  
// [1, 2, 3]
// [4, 5, 6]

그 외 메서드

메서드설명
Arrays.toString(array)입력한 배열 문자열 변환
Arrays.asList(array)배열을 기반으로 List생성 (크기 고정)
Arrays.copyOf(array)입력한 배열의 값을 복사하여 새로운 배열 생성 (깊은 복사)
Arrays.sort(array)입력한 배열을 정렬한다
Arrays.equals(arr1, arr2)입력한 두 배열이 같은지 비교한다.
Arrays.compare(arr1, arr2)입력한 두 배열을 비교한다.
(같으면: 0. arr1이 크면: 양수, arr1이 작으면: 음수)
Arrays.binarySearch(array, key)정렬된 배열에서 이진 탐색 수행하여 인덱스 반환
Arrays.fill(array, val)배열의 모든 값을 특정 값으로 채움
Arrays.mismatch(arr1, arr2)입력한 두 배열에서 첫 번째 불일치 인덱스 반환
Arrays.stream(array)입력한 배열의 Stream 클래스 반환

출처 및 참고자료

https://wooing1084.tistory.com/47