Arrays 클래스의 주요 메서드
메서드 | 설명 |
boolean Arrays.equals(배열 , 배열) [다차원 시 deepEquals] | 배열 A와 배열 B가 같은 값을 담고 있는지 리턴해준다. |
Arrays.toString(배열) [다차원 시 deepTostring] | 반복문 없이 배열의 값들을 리턴해준다. |
Arrays.copyOf(배열, int to) | 배열의 처음부터 지정된 곳 까지 배열을 복사해준다. (to 미포함) |
Arrays.copyOfRange(배열, int from , int to) | 지정된 곳 부터 지정된 곳 까지 배열을 복사해준다. (to 미포함) |
Arrays.sort(배열) | 배열을 작은 수 부터 큰 수로 정렬해준다. |
1) 배열의 비교와 출력 - equals() , toString()
앞 장에서 String 클래스를 다루었다면 이번에는 Arrays 클래스 배열을 다루어보도록 하자.
2차원 배열 생성은 위처럼 한 행 씩 묶어서 생성한다.
toString을 통해 반복문 없이도 배열안의 값들을 쉽게 출력하는 모습을 볼 수 있다. 하지만 1차원 배열이 아닌 다차원 배열부터는
그냥 toString이 아닌 deepToString을 이용해야만 정상적으로 메서드가 호출된다.
1차원 배열일 때는 .equals()를 사용할 수 있지만, 다차원 배열에서부터는 deepEquals()를 사용해야만 비교하는 모습을 알 수 있다.
2) 배열의 복사 - copyOf(), copyOfRange()
copyOf()는 배열의 전체 값을 copyOfRange()는 배열의 일부를 복사해서 배열의 값을 반환한다.
arr2는 기존 array의 배열을 배열의 길이의 끝까지 복사한 배열이다.
copyOf()메서드는 배열의 처음부터 지정하는 곳 까지 배열의 값을 복사해준다. 반면 copyOfRange() 메서드는 지난 번 String 클래스서
다루었던 subString(int from int to)와 같이 배열의 범위를 복사해준다. 이때 to는 포함하지 않는 것 까지 같다. 프로그램 실행 결과는
다음과 같다.
3) 배열의 정렬 - sort()
배열을 정렬할 때는 sort()를 통해 손쉽게 정렬할 수 있다.
String 클래스를 다룰 때에는 st.charAt, st.CharArray,st.length,st.equals,st.substring 이런식으로 생성하였던 변수 뒤에 .을
붙여 메서드를 호출 하였지만 , Arrays 클래스를 다룰 때에는 String 클래스와 다르게 , Arrays.메서드(배열명) 이런 식으로 다루었다.
처음에는 이 부분이 많이 헷갈렸지만 Arrays클래스를 Math 클래스 같은 관점으로 보고, String 클래스가 유난히 특이하다고 생각하는게
헷갈리지 않을 거 같다는 생각이 들었다.
'JAVA의 정석' 카테고리의 다른 글
(객체 part) 2. 선언위치에 따른 변수의 종류 (0) | 2023.08.08 |
---|---|
(객체 part) 1. 객체의 생성과 사용 (0) | 2023.08.07 |
String 배열과 String 클래스의 주요 메서드 (0) | 2023.08.06 |
배열의 생성,초기화 / 배열의 활용 (0) | 2023.08.05 |
전위증감연산자와 후위증감연산자 (0) | 2023.08.05 |