Java는 고정 크기의 배열 만 가지고 있습니다. 동적으로 성장 "배열"List 실현됩니다
List<String> array = new ArrayList<>();
for (int i = 0; i < 42; ++i) {
String s = "" + i;
array.add(s);
}
for (String t : array) {
System.out.println(t);
}
String seven = array.get(7);
int n = array.size();
if (array.isEmpty()) { ... }
// In Java 8:
array.stream().sorted().forEach(System.out::println);
이 성가신 것 (고정 크기) 배열을 사용 :
모든 여기에
String[] array = new String[];
String[] otherVar = array;
for (int i = 0; i < 42; ++i) {
String s = "" + i;
array = Arrays.copyOf(array, i + 1);
array[i] = s;
}
는 새로운 배열이 생성 단계의 내용 이전 배열이 복사되었습니다. 또한 otherVar
은 초기 빈 배열을 유지합니다.
String[] a
은 String a[]
과 같습니다. 후자는 C/C++과의 호환성만을위한 것이며 읽기 쉽지 않습니다.
'value'는 어디에 정의되어 있습니까? 나는 당신이 우리에게 보여준 코드가 다른 값을'value'로 읽는 루프 내부에 있다고 가정합니다. 또한,'array'를 두 번 정의 했으므로 코드 예제는 결코 컴파일 될 수 없습니다. 실제 코드를 알려주십시오. –