컴공생의 다이어리
[자바, Java] 배열 일괄 초기화 - Arrays.fill() 본문
Java 배열 일괄 초기화 - Arrays.fill()
자바에서 배열의 모든 값을 지정한 값으로 초기화하는 메서드로 Arrays.fill()이 있다. 기존에 아래와 같이 for문을 사용해서 배열의 값을 초기화하지 않고도 간편하게 배열의 값을 초기화할 수 있다.
int arr[] = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = -1;
}
1차원 배열 초기화
Arrays.fill(배열 변수, 초기화할 값) 의 인자를 넣어서 초기화하면 된다. 예시는 아래와 같다.
import java.util.Arrays;
public class ArrayFill {
public static void main(String[] args) {
int arr[] = new int[10];
Arrays.fill(arr, -1);
System.out.println(Arrays.toString(arr)); // [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
boolean check[] = new boolean[5];
Arrays.fill(check, true);
System.out.println(Arrays.toString(check)); // [true, true, true, true, true]
String str[] = new String[5];
Arrays.fill(str, "abc");
System.out.println(Arrays.toString(str)); // [abc, abc, abc, abc, abc]
}
}
만일, 배열 전체가 아니라 구간을 지정하여 채우고 싶다면 Arrays.fill(배열 변수, 시작, 끝+1, 초기화할 값) 의 인자를 넣어서 초기화하면 된다. 예시는 아래와 같다.
import java.util.Arrays;
public class ArrayFill {
public static void main(String[] args) {
int arr[] = new int[10];
Arrays.fill(arr, 2, 4, -1); // 2번째 인덱스부터 3번째 인덱스까지 -1로 채움
System.out.println(Arrays.toString(arr)); // [0, 0, -1, -1, 0, 0, 0, 0, 0, 0]
boolean check[] = new boolean[5];
Arrays.fill(check, 3, 5, true); // 3번째 인덱스부터 4번째 인덱스까지 true로 채움
System.out.println(Arrays.toString(check)); // [false, false, false, true, true]
}
}
2차원 배열 초기화
2차원 배열을 초기화하고 싶다면 아래와 같이 for문과 Arrays.fill()를 함께 사용하여 초기화할 수 있다.
import java.util.Arrays;
public class ArrayFill {
public static void main(String[] args) {
int arr[][] = new int[3][2];
for (int i = 0; i < 3; i++)
Arrays.fill(arr[i], 1);
for (int i = 0; i < 3; i++)
System.out.println(Arrays.toString(arr[i]));
/*
Output:
[1, 1]
[1, 1]
[1, 1]
*/
}
}
https://www.tutorialspoint.com/java/util/arrays_fill_int.htm
https://zetawiki.com/wiki/%EC%9E%90%EB%B0%94_Arrays.fill()
728x90
'Development > Java' 카테고리의 다른 글
[자바, Java] Apache Commons Lang을 사용해 랜덤 문자열 생성 (0) | 2022.03.03 |
---|---|
[자바, Java] 예외(Exception) 발생 시키기 - throw, throws (0) | 2022.02.22 |
[자바, Java] 설치한 여러 JDK 간편하게 전환 (4) | 2022.01.06 |
[자바, Java] OpenJDK 1.8 설치 (0) | 2022.01.05 |
[자바, Java] 스터디 사이트 추천 (0) | 2021.12.22 |
Comments