🔥 Vamos/Java

0918 | 자바의 정석 기초편 :: ch5-24

unikue 2022. 9. 18. 23:50

Arrays 클래스로 배열 다루기

 

✔Math class 

:수학관련 클래스

: round()

:random()

 

✔Arrays class

: 배열을 다루는데 유용한 클래스

 

✔배열 출력 - Arrays.toString();, Arrays.deepToString();

int[] arr = {0,1,2,3,4};
int[][] arr2D = {{10,20},{30,40}};

System.out.println(Arrays.toString(arr)); // [0,1,2,3,4] 배열로 출력
System.out.println(Arrays.deepToString(arr2D)); // [10,20],[30,40] 다차원 배열은 DeepToString!

 

 

✔ 배열 비교 - Arrays.equals(); Arrays.deepEquals();

String[][] str2D = new String[][]{{"apple","orange"},{"APPLE","ORANGE"}};
String[][] str2D2 = new String[][]{{"apple","orange"},{"APPLE","ORANGE"}};

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

*  str2D==str2D2 이렇게 비교 불가. 이렇게 쓰면 참조변수 값을 비교하는 것.

** 반복문으로 비교하기 귀찮으므로 equals()라는 메서드 제공

 

 

✔ 배열의 복사 - Arrays.copyOf(); , Arrays.copyOfRange();

int[] arr={0,1,2,3,4,5}
int[] arr2 = Arrays.copyOf(arr, arr.length); // (배열, 복사할 요소의 개수) arr2=[0,1,2,3,4,5]
int[] arr3 = Arrays.copyOf(arr,3); // arr3 = [0,1,2]
int[] arr4 = Arrays.copyOf(arr,7); // arr4 = [0,1,2,3,4,5,0] // 범위값을 넘으면 0
int[] arr5 = Arrays.copyOfRange(arr,2,4); // (배열, from index, 제외될 to index) arr5 = [2,3]
int[] arr6 = Arrays.copyOfRange(arr,0,7); // arr6 = [0,1,2,3,4,5,0] //범위값을 넘으면 0

System.out.println(Arrays.toString(arr));

 

 

✔ 배열의 정렬 - Arrays.sort();

int[] arr = {1,5,8,6,7};
Arrays.sort(arr); // 배열 arr을 정리
System.out.println(Arrays.toString(arr)); // [1,5,6,7,8] 오름차순으로 정렬된다.

중복값이 있을 경우.