| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Java
- hashset
- recursion
- two pointers
- 재귀함수
- binary tree
- Algorithm
- 우선순위 큐
- 부분배열
- programmers
- 브루트포스
- greedy
- Array
- leetcode
- HashMap
- DP
- 깊이우선탐색
- 알고리즘
- string
- PCCP
- coding
- dfs
- priority queue
- ArrayList
- 리트코드
- Today
- Total
지식창고
[Java] Arrays 클래스와 Arrays 메소드 모음 본문
Arrays Class ?
java.util.Arrays
Arrays는 java.util 클래스에서 lang 클래스 다음으로 가장 많이 사용되는 클래스이다.
이 클래스에는 배열을 다루기 위한 메소드들이 다양하게 포함되어 있다.
Arrays Class의 특징
모든 method는 Class method 이므로 객체를 생성하지 않고 바로 사용할 수 있다.
배열을 다루기 위한 메소드들의 집합이다.
사용하려면 반드시 import 해주어야 한다.
must add java.util.Arrays
import java.util.Arrays;
java.util.Arrays Method
- binarySearch(array, value) - 이진 검색 알고리즘을 사용하여 value의 위치를 반환해준다. (※정렬이 되어 있어야 함)
- copyOf(array, length) - 전달 받은 array를 length만큼 새로운 배열로 복사하여 반환한다.
- copyOfRange(array, start, end) - 전달 받은 array를 start <= New Array < end 까지 복사하여 반환한다.
- fill(array, value) - array의 모든 요소를 value로 초기화 해준다.
- fill(array, start, end, value) - start <= array[i] < end 를 value로 초기화 해준다.
- sort(array) - array를 오름차순으로 정렬해준다.
- equals(array1, array2) - array1과 array2가 같은 배열인지 아닌지 확인하여 boolean으로 반환해준다.
- asList(array) - array를 고정크기의 List로 변환하여 반환해준다.
- hashCode(array) - array의 HashCode를 반환해준다.
- toString(array) - array에 정의된 값들을 String으로 바꾸어 반환해준다.
메소드 사용 예시 코드
1 . binarySearch(array, value) - 값의 index를 찾을 때
이진 검색 알고리즘을 사용하여 value의 위치를 반환해준다.
이진 검색 알고리즘을 사용하기 때문에 배열이 먼저 정렬이 되어 있는 상태여야 한다.
만약 찾는 value값이 없으면 음수 값이 리턴 된다.
int arr[] = {1,2,3,4,5};
System.out.println(Arrays.binarySearch(arr, 3));
// 실행결과 : 2
2 . copyOf(array, length) - 배열을 복사할 때
array를 처음부터 length만큼 복사하여 반환해준다.
만약 array 배열의 크기보다 length보다 크다면 남는 부분은 기본값으로 채워지게 된다. ex) int형 -> 0
int arr[] = {1,2,3,4,5};
int arr2[] = Arrays.copyOf(arr, 5);
int arr3[] = Arrays.copyOf(arr, 10);
// arr2 = [1,2,3,4,5]
// arr3 = [1,2,3,4,5,0,0,0,0,0]
3 . copyOfRange(array, start, end) - 배열의 일부분을 복사 할 때
위와 비슷한 메소드이지만 배열의 시작부터 length만큼이 아니라 배열의 중간 부분을 복사할 수 있다.start부터 end까지 복사해서 반환해준다.여기서 start 인덱스는 복사에 포함되지만 end 인덱스는 포함되지 않는다.
int arr[] = {1,2,3,4,5};
int arr2[] = Arrays.copyOfRange(arr, 1, 3);
// arr2 = [2,3]
4 . fill(array, value) - 배열을 특정 값으로 모두 초기화 할 때
array의 원소들을 모두 value로 초기화 시켜준다.
int arr[] = {1,2,3,4,5};
Arrays.fill(arr, 10);
// arr = [10,10,10,10,10]
5 . fill(array, start, end, value) - 배열의 일부분을 특정 값으로 초기화할 때
위와 비슷한 메소드이지만 배열의 전부가 아닌 부분적으로 초기화 해줄 수 있다.
start 부터 end 바로 전까지 value로 초기화 시켜준다.
int arr[] = {1,2,3,4,5};
Arrays.fill(arr, 1, 4, 10);
// arr = [1,10,10,10,5]
6 . sort(array) - 배열을 정렬할 때 (오름차순)
배열을 오름차순으로 정렬해준다.
만약 배열의 자료형이 사용자가 지정한 Class 라면 해당 Class에 compareTo 메소드가 오버라이딩 되어 있어야 한다.
int arr[] = {4, 2, 5, 1, 3};
Arrays.sort(arr);
// arr = [1,2,3,4,5]
7 . equals(array1, array2) - 두 배열이 같은지 확인 할 때
두 배열이 같은지 확인해준다.
똑같은 값을 가지고 있다면 true.
다른 값을 가지고 있다면 false.
int arr[] = {1,2,3,4,5}
int arr2[] = {1,2,3,4,5}
int arr3[] = {5,7,8,4,5}
Arrays.equals(arr, arr2); // true
Arrays.equals(arr, arr3); // false
8 . asList(array) - 배열을 리스트로 변환할 때
배열을 List형태로 반환해준다. - Arrays의 private ArrayList로 반환해주는것. 따라서 java.util.ArrayList와 다르다.
반환 되는 List는 고정크기이다.
※ 때문에 이 메소드로 List를 생성하고 난 후에 List.add(value)로 값을 추가할 수 없다.
int arr[] = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arr);
// list = [1,2,3,4,5]
9 . hashCode(array) - 배열의 해시코드를 구할 때 ()
배열이 가지고 있는 고유한 값인 해시코드를 반환해준다. (int 형)
int arr[] = {1,2,3,4,5};
int code = Arrays.hashCode(arr);
// code = arr만의 hashCode
10 . toString(array) - 배열을 출력할 때, 배열을 String으로 변환할 때
배열을 String형태로 바꾸어 반환해준다.
주로 배열의 내용을 출력할 때 사용한다.
int arr[] = {1,2,3,4,5};
System.out.println(Arrays.toString(arr));
// output : [1, 2, 3, 4, 5]
'Language > Java' 카테고리의 다른 글
| [Java] Integer 클래스와 Integer 메소드 모음 (0) | 2023.01.30 |
|---|---|
| [Java] ArrayList Method, 사용법 (0) | 2023.01.17 |
| [Java] Priority Queue Method, 사용법 (0) | 2023.01.04 |
| [Java] Hash Map Method, 사용법 (0) | 2023.01.04 |