Hello

Java 배열(Arrays) 클래스 다루기 - 출력, 비교, 복사, 정렬

by 볼빵빵오춘기

배열 출력

int arr = {0,1,2,3,4};
int[][] arr2D = {{11,12},{21,22}};

System.out.println(Arrays.toString(arr)); // [0,1,2,3,4]
System.out.println(Arrays.deepToString(arr2D)); // [[11,12],[21,22]]
  • toString() : 1차원 배열을 출력해서 보여줄 때 사용
  • deepToString() : 2차원이상 배열을 보여 줄 때 사용

 

배열 비교

int[][] str2D = new String[][]{{"aaa","bbb"},{"AAA","BBB"}};
int[][] str2D2 = new String[][]{{"aaa","bbb"},{"AAA","BBB"}};

System.out.println( Arrays.equals(str2D, str2D2) ); // false
System.out.println( Arrays.deppEquals(str2D,str2D2) ); // true
  • == 비교 연산자로 하면 편할것같은데 배열의 각각의 요소가 같은지를 비교해야한다.
    이것을 반복문으로 하기 귀찮다. (== 은 참조변수 값을 비교하게 된다.)
  • 1차원 배열 비교라면 equals()을 써도 된다.
  • 2차원이상 배열이므로 deppEquals()을 써야한다.

 

배열 복사

int[] arr = {0,1,2,3,4};
int[] arr2 = Arrays.copyOf(arr, arr.length); // [0,1,2,3,4];
int[] arr3 = Arrays.copyOf(arr, 3); // [0,1];
int[] arr4 = Arrays.copyOf(arr, 7); // [0,1,2,3,4,0,0];
int[] arr5 = Arrays.copyOfRange(arr, 2,4); // [2,3];
int[] arr6 = Arrays.copyOfRange(arr, 0,7); // [0,1,2,3,4,0,0];

 

  • copyOf(복사할 배열, 배열의 길이);
  • copyOfRange(복사할 배열, 복사배열의 시작할 인덱스, 복사배열의 끝날 인덱스);
  • 끝날인덱스는 불포함된다.
  • 끝날인덱스의 범위를 넘는 숫자를 넣으면 기본값이 들어간다.

 

배열 정렬

int[] arr = {3,2,0,1,4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // [0,1,2,3,4]
  • sort() : 오름차순 정렬
  • 내림차순 정렬은 자바의 정석 11장에서 설명 한다 하여 뒤에 정리 후 링크 걸어놓기

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기