어레이의 모든 요소를 Java의 특정 값으로 초기화하는 방법
인C/C++
우리는 가지고 있다.memset()
제 소원을 들어줄 수 있는 기능이지만Java
모든 요소를 특정 값으로 초기화하려면 어떻게 해야 합니까?우리가 글을 쓸 때마다int[] array=new int[10];
모든 요소가 0인 크기 10의 배열을 초기화하기만 하면 됩니다.어레이 중 하나의 초기화 정수를 변경하려고 합니다.모든 요소가 동일한 배열을 초기화합니다.-1
안그러면 난 이걸 넣어야 해for
초기화 직후의 루프(인덱스 범위)0
색인화하다size-1
그리고 그 루프 안에서, 나는 요소를-1
아래는 좀 더 이해하기 위한 코드입니다.
int[] array = new int[10];
for (int i = 0; i < size; i++) {
array[i] = -1;
}
내가 제대로 가고 있는 거야?같은 방법으로 다른 방법이 있나요?
원시적인 타입이라면Arrays.fill()
:
Arrays.fill(array, -1);
(그런데 C 또는 C++는 의 어레이에서만 실제로 사용됩니다.)
그리고 또
int[] array = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
Java 8 스트림에서도 가능합니다.
int[] a = IntStream.generate(() -> value).limit(count).toArray();
하지만 가장 효율적인 방법은 아닐 수도 있습니다.
짧은 경우에는 다음과 같이 할 수 있습니다.
int[] array = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
하지만 몇몇이 아니라 더 나빠지는 모르겠지만
보다 쉬운 것은for
루프:
int[] myArray = new int[10];
for (int i = 0; i < array.length; i++)
myArray[i] = -1;
편집: 또한Arrays.fill()
다른 사람들이 언급한 옵션입니다.
java.displaces를 클릭합니다.Arrays.fill()
사용할 수 있습니다.Arrays.fill(array, -1)
.
Arrays.fill()을 사용할 수 있는 것은 분명합니다.단, 이 방법은 동작합니다.
Java 8을 사용하면 간단하게ncopies
의Collections
클래스:
Object[] arrays = Collections.nCopies(size, object).stream().toArray();
고객님의 경우 다음과 같습니다.
Integer[] arrays = Collections.nCopies(10, Integer.valueOf(1)).stream().toArray(Integer[]::new);
.
여기 당신의 유사한 사례에 대한 자세한 답변이 있습니다.
사용할 수 있는 목록
Collections.fill(arrayList, "-")
java.utils의 배열 클래스에는 이를 위한 메서드가 있습니다.
Arrays.fill(your_array, value_to_fill);
언급URL : https://stackoverflow.com/questions/10078867/how-to-initialize-all-the-elements-of-an-array-to-any-specific-value-in-java
'programing' 카테고리의 다른 글
Spring 3.1 디폴트프로파일 (0) | 2022.12.28 |
---|---|
웹 페이지 제목을 동적으로 변경하는 방법 (0) | 2022.12.28 |
특정 구성 요소에 대해 특정 Vue 경고를 사용하지 않도록 설정할 수 있습니까? (0) | 2022.12.18 |
중복 키 업데이트 시 삽입과 동일 (0) | 2022.12.18 |
SQL: SELECT WHERE(VARCHAR 열) Moodle이 있는 행을 찾을 수 없습니다.오류 "데이터베이스 테이블 external_functions에서 데이터 레코드를 찾을 수 없습니다." (0) | 2022.11.08 |