본문 바로가기

자바(JAVA)
[자바(Java)] Arrays

- 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