MapleStory Cookie With Halo

☕ JAVA/☕ Class & Method

[JAVA]Arrays: 배열 다루기

뉴이 NUEY 2024. 11. 18. 13:25
반응형

 

Arrays 클래스란

배열 Array [ ] 를 다루기위한 메서드들을 모아놓은 곳입니다.

jdk docs

Array 배열이란❓

2024.08.22 - [☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type] - [JAVA]배열 Array [ ]

 


 

Arrays.toString(배열)
: 배열을 문자열로 반환한다.

여기 밑으로는 Arrays.toString()코드를 좀 더 간단히 쓰고자 아래와 같은 함수를 만들어 사용했습니다.

 


 

Arrays.deepToString(배열)
: 다차원배열을 문자열로 반환한다.

 


 

Arrays.fill(배열, value)
: 배열을 특정 값으로 채운다.

 


 

setAll(배열, 람다식)
: 람다식을 이용해 값을 채운다.

출력결과

 

람다식이란❓

2024.12.11 - [💬 프로그래밍 표현식] - [Lambda]람다식

 


 

Arrays.copyOf(배열, int newLength)
: 원하는 길이로 배열을 복사한다.

arr1.clone()은 크기까지 동일하게 복사됩니다.
배열은 크기를 변경하지 못합니다.
따라서 원하는 크기로 복사하려면 위와 같은 메서드가 유용합니다.

 


 

Arrays.copyOfRange(객체, indexFrom, indexTo)

2번째 인덱스부터 4 - 1인 인덱스 3까지 복사되엇습니다.

 


 

Arrays.binarySearch(배열, 찾는 값 key)
: 찾는 값의 index위치를 int형으로 반환한다.
실행 전 정렬필수!

 


 

Arrays.sort(배열)
: 배열을 오름차순 정렬한다.

내림차순 정렬
Collections의 메서드를 활용해야 합니다.
Collections은 참조타입만 취급하기 때문에 아래와 같이 변환해서 사용해야 합니다.
또는 아래처럼 for문으로 만들 수도 있습니다.

 


 

Arrays.parallelSort(배열)
: 멀티스레드를 이용해서 정렬한다.

sort()와 parallelSort() 모두 원하는 범위만큼만 정렬을 할 수 있습니다.
❗ sort()와 parallelSort()의 차이
기능은 동일합니다.
sort()는 단일 스레드를 이용하기에 작은 배열이나 단일 스레드 환경에 적합합니다.
parallelSort()는 멀티 스레드를 이용하기에 큰 배열이나 멀티 코어 환경에 적합합니다.

 


 

new ArrayList<>(Arrays.asList(참조형 배열))
: array→List 로 변환.

인수로 참조형만을 담을 수 있다는 특징이 있습니다.
그래서 기본형을 참조형 (int → Integer)으로 바꿔주어야만 합니다.
❗ 주의
이렇게 코드를 적으면 add()를 사용할 시 예외가 발생해서 사용할 수 없습니다.

 

Arrays.equals(배열1, 배열2)
: 두 배열의 요소가 같은 지 확인한다.

  • == 는 주소가 같은 지 확인하기 때문에 false가 나옵니다.
  • 요소들의 순서까지 동일해야 true가 나옵니다.

 


 

Arrays.deepEquals(배열1, 배열2)
: 다차원 배열의 요소가 같은 지 확인한다.

  • 이차원 배열을 equals()를 사용해서 비교하면 false가 나옵니다.
  • 이차원 이상의 배열은 deepEquals()를 사용해서 같은 지 확인해야 합니다.

 

반응형