- Arrays 클래스에는 배열을 다루는 데 유용한 메서드가 정의되어 있다.
- Arrays에 정의된 메서드는 모두 static 메서드!
- import java.util.Arrays;
import java.util.Arrays;
public class Ex09 {
public static void main(String[] args) {
int[] arr = {0,1,2,3,4};
System.out.println("arr = " + Arrays.toString(arr));
int[] arr2 = Arrays.copyOf(arr, 3);
int[] arr3 = Arrays.copyOf(arr, arr.length);
int[] arr4 = Arrays.copyOf(arr, 7);
int[] arr5 = Arrays.copyOfRange(arr, 2, 4);
System.out.println("arr2 = " + Arrays.toString(arr2));
System.out.println("arr3 = " + Arrays.toString(arr3));
System.out.println("arr4 = " + Arrays.toString(arr4));
System.out.println("arr5 = " + Arrays.toString(arr5));
System.out.println("arr = arr3 ? : " + Arrays.equals(arr, arr3));
System.out.println("arr = arr5 ? : " + Arrays.equals(arr, arr5));
int[] arr6 = new int[5];
Arrays.fill(arr6, 9);
System.out.println("arr6 = " + Arrays.toString(arr6));
Arrays.setAll(arr6, i -> (int)(Math.random()*6)+1);
System.out.println("arr6 = " + Arrays.toString(arr6));
for(int i : arr6) {
char[] graph = new char[i];
Arrays.fill(graph, '*');
System.out.println(new String(graph));
}
char[] arr7 = {'A', 'D', 'C', 'B', 'E'};
System.out.println("arr7 = " + Arrays.toString(arr7));
Arrays.sort(arr7);
System.out.println("After sorting arr7 = " + Arrays.toString(arr7));
System.out.println("index of B = " + Arrays.binarySearch(arr7, 'B'));
}
}
- 배열 출력 : toString()
Arrays.toString(arr);
- 배열 비교 : equals()
Arrays.equls(arr1, arr2);
- 배열 복사 : copyOf(), copyOfRange()
Arrays.copyOf(arr, length);
Arrays.copyOfRange(arr, fromIndex, toIndex); // fromIndex ~ toIndex-1
- 배열 채우기 : fill(), setAll()
Arrays.fill(arr, element);
Arrays.setAll(arr, 람다식 | 함수형 인터페이스를 구현한 객체);
- 배열 정렬 : sort()
Arrays.sort(arr);
- 배열 검색 : binarySearch() // 배열이 정렬된 경우만 사용이 가능하다. (sort() 먼저!)
Arrays.binarySearch(arr, index);
- 배열을 List로 변환 : asList() // 매개변수에 배열 생성 없이 저장할 요소들만 나열해도 된다.
List list = Arrays.asList(new Integer[]{1,2,3,4,5}); //변경 불가
List list = Arrays.asList(1,2,3,4,5); //변경 불가
List list = new ArrayList(Arrays.asList(1,2,3,4,5)); //변경 가능
- 람다와 스트림 관련 : parrallelXXX(), spliterator(), stream()
import java.util.Arrays;
public class Ex10 {
public static void main(String[] args) {
int[][] arr2D = {{11,12,13}, {21,22,23}};
int[][] arr2D2 = {{11,12,13}, {21,22,23}};
int[][] arr2D3 = {{14,15,16}, {21,22,23}};
System.out.println("arr2D = " + Arrays.deepToString(arr2D));
System.out.println("arr2D2 = " + Arrays.deepToString(arr2D2));
System.out.println("arr2D3 = " + Arrays.deepToString(arr2D3));
System.out.println("arr2D = arr2D2 ? : " + Arrays.deepEquals(arr2D, arr2D2));
System.out.println("arr2D = arr2D3 ? : " + Arrays.deepEquals(arr2D, arr2D3));
}
}
- 다차원 배열 출력 : deepToString()
Arryays.deepToString(arr2D);
- 다차원 배열 비교 : deepEquals()
Arryays.deepEquls(arr2D1, arr2D2);
'자바(JAVA)' 카테고리의 다른 글
[자바(Java)] Set (0) | 2022.12.16 |
---|---|
[자바(Java)] Comparator와 Comparable (0) | 2022.12.16 |
[자바(Java)] Iterator (0) | 2022.12.15 |
[자바(Java)] Stack, Queue (0) | 2022.12.15 |
[자바(Java)] ArrayList (0) | 2022.12.15 |