[Java의 정석]Chapter5.배열(24)

11927 단어 Java의 정석JavaJava

Chapter 5. 배열

24. Arrays로 배열 다루기

  • Arrays 클래스는 배열을 다루는데 유용한 메서드를 제공
  • 자주 사용되는 메서드 소개(11장에서 심화)

🌼배열의 비교와 출력 - equals(), toString()

  1. toString()
  • toString() 배열의 모든 요소를 문자열로 편하게 출력 가능
  • 일차원 배열에만 사용 가능
  • 다차원 배열에는 deepToString() 사용
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]]
  1. equals()
  • 두 배열에 저장된 모든 요소를 비교해서 같으면 true, 다르면 false 반환
  • 일차원 배열에만 사용 가능
  • 다차원 배열에는 deepEquals() 사용
String[][] str2D = new String[][]{{"aaa","bbb"},{"AAA","BBB}};
String[][] str2D2 = new String[][]{{"aaa","bbb"},{"AAA","BBB}};

System.out.println(Arrays.equals(str2D, str2D2)); //false
System.out.println(Arrays.deepEquals(str2D, str2D2)); //true

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

  1. copyOf() : 배열 전체 복사해서 새로운 배열 만들어 반환
  2. copyOfRange() : 배열 일부 복사해서 새로운 배열 만들어 반환하되, 지정된 범위의 끝은 포함되지 않음
int[] arr = {0,1,2,3,4};
int[] arr2 = Arrays.copyOf(arr,arr.length); //arr2=[0,1,2,3,4]
int[] arr3 = Arrays.copyOf(arr, 3); //arr3=[0,1,2]
int[] arr4 = Arrays.copyOf(arr, 7); //arr4=[0,1,2,3,4,0,0]
int[] arr5 = Arrays.copyOfRange(arr, 2, 4); //arr5=[2,3] : 4는 불포함
int[] arr6 = Arrays.copyOfRange(arr, 0, 7); //arr6=[0,1,2,3,4,0,0]

🌷배열의 정렬 - sort()

  • 배열 정렬시 sort()사용 (11장에서 심화)
int[] arr = {3,2,0,1,4}
Arrays.sort(arr); //배열arr을 정렬
System.out.println(Arrays.toString(arr)); //[0,1,2,3,4]

좋은 웹페이지 즐겨찾기