Arrays 클래스의 모든 메서드는 클래스 메서드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있다.
전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘을 사용하여 검색한 후, 해당 위치 반환
int[] arr = new int[1000];
for(int i = 0; i < arr.length; i++) arr[i] = i;
System.out.println(Arrays.binarySearch(arr, 500));
// 출력 결과
// 500
전달받은 배열의 특정 길이만큼을 새로운 배열로 복사하여 반환
새로운 배열의 길이가 원본 배열보다 길면, 나머지 요소는 기본값으로 채워진다.
배열 요소의 타입 | 기본값 |
---|---|
char | '\u0000' |
byte, short, int | 0 |
long | 0L |
float | 0.0F |
double | 0.0D |
boolean | false |
배열, 인스턴스 | null |
int[] arrOne = {1, 2, 3, 4, 5};
int[] arrTwo = Arrays.copyOf(arrOne, 3);
for(int i = 0; i < arrTwo.length; i++) {
System.out.print(arrTwo[i] + " ");
}
int[] arrThree = Arrays.copyOf(arrOne, 10);
for(int i = 0; i < arrThree.length; i++) {
System.out.print(arrThree[i] + " ");
}
// 출력 결과
// 1 2 3
// 1 2 3 4 5 0 0 0 0 0
전달받은 배열의 특정 범위 요소를 새로운 배열로 복사하여 반환
int[] arrOne = {1, 2, 3, 4, 5};
int[] arrTwo = Arrays.copyOfRange(arrOne, 2, 4);
for (int i = 0; i < arrTwo.length; i++) {
System.out.print(arrTwo[i] + " ");
}
// 출력 결과
// 3 4
int[] arr = {5, 3, 4, 1, 2};
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
// 출력 결과
// 1 2 3 4 5
int[] arr = new int[10];
Arrays.fill(arr, 1);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
// 출력 결과
// 1 1 1 1 1 1 1 1 1 1
public String solution(String s) {
String answer = "";
int cnt = 0;
String[] array = s.split("");
for(String ss : array) {
cnt = ss.contains(" ") ? 0 : cnt + 1;
answer += cnt%2 == 0 ? ss.toLowerCase() : ss.toUpperCase();
}
return answer;
}