import java.util.*;
public class Sample {
public static void main(String[] args) {
String[] sArr = new String[5];
Arrays.fill(sArr, "A");
Arrays.fill(sArr, 0, 2, "X");
// [X, X, A, A, A]
int[] iArr = new int[5];
Arrays.setAll(iArr, i -> i); // 0부터 1씩 올리며 채우기
// [0, 1, 2, 3, 4]
Arrays.setAll(iArr, i -> i + 1); // 1부터 1씩 올리며 채우기
// [1, 2, 3, 4, 5]
Arrays.setAll(iArr, Sample::test); // test 함수를 0부터 넣어가며 return 값 넣기
}
}
자바에서 배열에 for문으로 값을 채우는게 아닌 한번에 값을 채워주려면 fill과 setAll을 사용할 수 있는데,
먼저 fill은 단일 값으로 채워줄 수 있는 메소드인데
Arrays.fill(배열명, 넣을값);
Arrays.fill(배열명, 시작_인덱스, 멈출_인덱스, 넣을값);
두 가지 방식으로 사용이 가능하고
setAll의 경우에는 숫자 배열에만 사용할 수 있는데
Arrays.setAll(배열명, Generator);
Generator 부분은 위 코드와 같이 넣어주는 형식을 지정해서 사용하는데
Arrays.setAll(배열명 , i -> i);
이런 식으로 사용하면 0부터 올려가며 넣어주거나
Arrays.setAll(배열명, i -> i + 1);
이렇게 +1을 사용해서 1부터 계속 넣어줄 수도 있고
Arrays.setAll(배열명, Sample::test);
마지막으로는 클래스 내 메소드를 호출할 수도 있는데 Sample 클래스에 있는 test 메소드를 0부터 넣어가며 호출한 뒤 Return 받은 값을 넣어줄 수도 있다.
Leave a Reply