일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 현대암호
- 백준 알고리즘
- LANG
- 자동 형변환
- 프로그래밍
- 객체지향
- HTML
- 암호론
- class
- 객체
- 공개키 암호
- 재귀호출기본
- 2884
- OOP
- 연결된 예외
- 클래스 패스
- try&catch
- 자료구조
- java
- BufferedWrite
- 디렉티브
- 형변환 연산자
- 알고리즘
- 예외처리
- jvm
- lang package
- JSP
- 소수판정
- 백준
- bubble-sort
- Today
- Total
코드일기장
Java_Arrays class 본문
Java Arrays 클래스에 대해 알아보자.
기본적으로 java.util 패키지를 사용해 Arrays 클래스를 사용할 수 있게 해야 한다.
- binarySearch() 메서드
binarySearch()는 전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘 사용하여 검색한 후, 해당 위치를 변환한다.
이 메서드는 sort() 메서드 등을 사용하여 미리 정렬되어 있어야 한다.
위 코드는 arr배열에 특정 값 10을 찾고 해당 위치를 변환하는 코드이다. 특정값 10은 i*2=10 i=5이므로 출력 값이 5가 나온 것이다.
Arrays.binarySearch(배열, 특정값)
- copyOf() 메소드
copyOf() 메서드는 전달받은 배열의 특정 길이만큼을 새로운 배열로 복사하여 반환한다.
copyOf() 메소드는 첫 번째 매개변수로 원본 배열을 전달받고, 두 번째 매개변수는 원본 배열의 복사할 요소의 개수를 전달받는다.
위 코드는 1,3,5,6,7번째 줄만 주의 깊게 보자. 3번째 줄 copyarr1 []는 Arrays.copyOf(arr1,4); 즉, arr1 배열에서 요소 4개를 복사해 온다는 소리이다. 그래서 출력으로 1,2,6,4 4개만 출력된 것을 확인할 수 있다.
만약 복사할 요소의 개수가 배열의 개수보다 많으면 어떻게 될까? 함 해보자!
copyOf() 메서드 예시 코드 2번째 줄은 총 5개의 값을 지니고 있는데 4번째 줄 copyarr2 []는 10개나 복사하려고 한다.
5개까지는 복사가 잘 되지만 값이 없는 걸 복사할 때는 기본값으로 받는다는 것을 확인할 수 있다. 0을 출력하기 때문
복사할 곳 배열 = Arrays.copyOf(복사할 배열, 복사할 요소의 개수)
- copyOfRange() 메소드
copyOfRange() 메서드는첫 번째 매개변수로 복사할 메서드의 시작점 index값 두 번째 매개변수로 끝점 index값
주의할 점, 끝점 index는 그 index의 바로 앞(전)까지만 복사된다.
copyarr3는 arr3배열의 index값 0부터 3 바로 전! 요소 값으로는 3까지 복사한다.
복사받을 배열= Arrays.copyOfRange(복사할 배열, 시작점 index, 끝점 index)
- fill() 메소드
fill() 메서드는 배열의 모든 요소를 특정 값으로 초기화해주는 메서드이다.
첫 번째 매개변수는 초기화할 배열, 그다음 매개변수는 초기값
따라서 이 메서드는 전달받은 원본 배열의 값을 변경하게 됩니다.
arr4는 초기화가 안된 상태이다. Arrays.fill로 인해 arr4의 모든 요소들은 다 5의 값으로 초기화가 되었다.
Arrays.fill(초기화해줄 배열, 특정 값)
- sort() 메소드
sort로 전달받은 메서드는 오름차순으로 정렬된다.
arr5는 질서 없이 값이 난해하게 정렬되어 있다. Arrays.sort()로 오름차순으로 정렬이 되어서 출력으로 1,5,9,15,100이 출력
Arrays.sort(오름차순으로 정렬할 배열)
Arrays 클래스는 주기적으로 업데이트를 하겠습니다.
/*썸네일 이미지는 Java 대표 로고 이미지입니다.*/
'Java' 카테고리의 다른 글
Java_예외 처리(예외처리 1-1) (0) | 2021.12.23 |
---|---|
Java 타입간의 변환과 형변환 연산자 자동 형변환 (0) | 2021.11.22 |
Java_BufferedReader /BufferedWrite (0) | 2021.10.06 |
Scanner로 데이터 input_Java (0) | 2021.10.03 |
변수와 리터럴에 대해(1)_Java문법 (0) | 2021.10.02 |