자바의정석

[자바의 정석 - 기초편] ch5-24 Arrays로 배열 다루기

유호야 2022. 3. 3. 17:00
반응형

ch5-24 Arrays로 배열 다루기

Arrays로 배열 다루기

Math 클래스에는 수학관련 메서드가 모아져있다.

System.out.println() 내 

Arrays.toString(arr) ; /1차원

deepToString(arr2D);  //2차원 및 다차원 배열

 

1차원 배열들 비교할 때는
Arrays.equals(배열1, 배열2);

2차원 배열 비교할 때는
Arrays.deepEquals(str2D, str2D2);

 


배열의 복사 - copyOf(), copyOfRange()

배열의 복사 - copyOf(), copyOfRange()

 

package ch05;

import java.util.Arrays;

public class Test {

	public static void main(String[] args) {
		
		int[] arr = {1, 2, 3, 4, 5};
		System.out.println(Arrays.toString(arr));
		int[] arr2 = Arrays.copyOf(arr, 5);
		System.out.println(Arrays.toString(arr2));
		int[] arr3 = Arrays.copyOf(arr, 4);
		System.out.println(Arrays.toString(arr3));
		int[] arr4 = Arrays.copyOfRange(arr, 0, 4);
		System.out.println(Arrays.toString(arr4));
		int[] arr5 = Arrays.copyOfRange(arr, 2, 4);
		System.out.println(Arrays.toString(arr5));
		
	}

}

 

배열의 정렬 - sort() : 11장에서 자세히 볼 것이다

순서대로 정렬하는 기능을 갖고 있다.

int 배열만 가능한지 

package ch05;

import java.util.Arrays;

public class Test {

	public static void main(String[] args) {
		
		int[] arr = {1, 2, 3, 4, 5};
		System.out.println(Arrays.toString(arr));
		int[][] arr2D = {
				{1,2,3,4,5},
				{9,8,7,6,5}
		};
		System.out.println(Arrays.toString(arr2D));
		System.out.println(Arrays.deepToString(arr2D));
	}

}

//결과
//[1, 2, 3, 4, 5]
//[[I@5ccd43c2, [I@4aa8f0b4]
//[[1, 2, 3, 4, 5], [9, 8, 7, 6, 5]]

Arrays.deepToString() 으로 다차원 배열을 출력

package ch05;

import java.util.Arrays;

public class Test {

	public static void main(String[] args) {
		
		int[][] arr2D = {
				{1,2,3,4,5},
				{9,8,7,6,5}
		};
		int[][] arr2D2 = {
				{1,2,3,4,5},
				{9,8,7,6,5}
		};
		
		System.out.println(arr2D == arr2D2);
		System.out.println(Arrays.equals(arr2D, arr2D2));
		System.out.println(Arrays.deepEquals(arr2D, arr2D2));
		
	}

}

결과 

false
false
true

 

package ch05;

import java.util.Arrays;

public class Test {

	public static void main(String[] args) {
		
		int arr[] = {2, 4, 5, 1, 3};
		
		int[][] arr2D = {
				{1,2,3,4,5},
				{9,8,7,6,5}
		};
		int[][] arr2D2 = {
				{1,2,3,4,5},
				{9,8,7,6,5}
		};

		
		Arrays.sort(arr);
		
		int copyArr[] = Arrays.copyOf(arr, 5);
		System.out.println(Arrays.toString(copyArr));
		int copyArr2[] = Arrays.copyOfRange(arr, 2, 5);
		System.out.println(Arrays.toString(copyArr2));
		
		
	}

}
반응형