| English | 의미 |
|---|---|
| ArrayList/əˈreɪ lɪst/ | ArrayList |
삽입은 이후 인덱스를 변경합니다
- ArrayList은
[cat, dog]에서 시작합니다.add(1, "owl")이[cat, owl, dog]를 만들고, 그 후remove(0)이[owl, dog]를 만듭니다. 이제get(1)는"dog"을 반환합니다. - 각 연산 후 전체 목록을 추적해 보십시오: 삽입은 후속 요소를 오른쪽으로 밀고, 제거는 왼쪽으로 밀어냅니다. 인덱스는 요소의 영구적인 신원을 나타내는 것이 아니라 위치를 식별하는 데 사용됩니다.
List에는 크기와 요소 타입이 있습니다
- ArrayList은 확장 가능한 참조 시퀀스를 저장합니다.
java.util.ArrayList을 가져오고ArrayList<String> names = new ArrayList<String>();을 선언하십시오; 초기 크기는 0입니다. - 타입 매개변수는 참조类型이므로 정수에는
Integer을 사용하고int을 사용하지 마십시오.size()는 저장된 요소를 세는 데 사용되며, 초기 용량은 성장에 사용할 수 있는 공간일 뿐 해당 개수의 요소를 생성하지는 않습니다.
유효 범위 내에서 추가하거나 삽입하세요
add(x)은 요소를 추가합니다;add(i, x)은 현재 i에 있는 요소를 앞에 삽입합니다. 삽입의 경우 유효한 인덱스는 0부터 size까지 포함되므로,add(size(), x)도 추가할 수 있습니다.get(i)은 기존 요소를 읽으므로, 인덱스는 0부터 size minus 1까지입니다. 빈 목록에는 유효한 get 인덱스가 없으며, 삽입이 허용되는 지점이라도get(size())은 범위를 벗어납니다.
크기가 2인 목록에서 add(2, value)는 허용되지만 get(2)은 범위를 벗어납니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
삽입은 크기(size)의 위치를 허용하지만, get()은 크기와 엄격하게 작은 기존 인덱스를 요구합니다.
교체 및 제거는 다른 결과를 반환합니다
set(i, x)은 기존 요소를 교체하고 크기를 변경하지 않고 이전 값을 반환합니다.remove(int i)은 해당 위치의 요소를 제거하고 이를 반환하며 크기를 한 줄여줍니다.- 오버로딩된
remove(Object value)은 대신 첫 번째 일치 값을 제거하고 제거되었는지 여부를 반환합니다.ArrayList<Integer>에서remove(1)는 인덱스 1을 의미하므로, 값 1를 제거하려면remove(Integer.valueOf(1))를 사용하십시오.
import java.util.ArrayList;
import java.util.Arrays;
public class RemoveChoice {
public static void main(String[] args) {
ArrayList<Integer> byIndex = new ArrayList<>(Arrays.asList(1, 2, 1));
ArrayList<Integer> byValue = new ArrayList<>(Arrays.asList(1, 2, 1));
int removed = byIndex.remove(1);
boolean found = byValue.remove(Integer.valueOf(1));
System.out.println(removed + " " + byIndex);
System.out.println(found + " " + byValue);
}
}
두 출력은 2 [1, 1]과 true [2, 1]입니다. 각 목록은 하나씩 요소를 잃지만, 서로 다른 요소를 잃습니다.
add, get, remove
remove(0) 실행 후, dog가 인덱스 0으로 이동하고 크기가 1로 줄어듭니다.
ArrayList의 요소 수를 구하는 방법은 무엇입니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
ArrayList은 size(); 배열은 .length를 사용합니다.
최소 세 개의 요소를 가진 ArrayList list에서 인덱스 2에 있는 요소를 어떻게 접근합니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
ArrayList은 [i]가 아닌 get(i)을 사용합니다.
{cat, dog}에서 a.remove(0) 실행 후, a.get(0)의 값은 무엇입니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
remove(0)는 cat을 삭제하며, dog가 인덱스 0으로 이동합니다.
사각 괄호를 사용하여 ArrayList 요소를 접근할 수 있습니다. 예: list[0].
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
ArrayList은 [] 구문이 아닌 메소드(get/set)를 사용합니다.
인자 하나를 가진 add(x)는 x를 ...에 추가합니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
add(x)는 appending; add(i, x)는 인덱스 i에 삽입합니다.
[1, 2, 1]에서 remove(1)가 int 인자를 사용하여 호출됩니다. 반환되는 값은 무엇입니까?
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
int 오버로드를 사용하면 인덱스 1(요소가 2인)이 제거됩니다.
선언된 인자 유형에 따라 선택하세요
- Java는 인자 유형을 사용하여 오버로드를 선택합니다.
int index = 1; list.remove(index);은 위치 1을 제거하고,Integer value = 1; list.remove(value);는 값 제거를 선택합니다. - String 목록은 값으로
"owl"을 제거하거나 위치로 인덱스 0을 제거할 수 있습니다. 추적을 결정하기 전에 의도를 명확히 하십시오. 일치하는 값이 없으면 false를 반환하고 목록은 변경되지 않습니다.
Array는 a[i]과 a.length을 사용하며, ArrayList은 get(i)과 size()을 사용합니다. 삽입 범위를 기존 요소 범위와 분리하여 유지하고, remove에 전달되는 정수형 인자가 항상 저장된 값을 의미한다고 가정하지 마십시오.
한 번의 교체와 실패한 제거를 확인하세요
[owl, dog]에서 시작하여,set(1, "fox")은"dog"를 반환하고 크기가 2인[owl, fox]을 남깁니다.remove("cat")는 이후 false를 반환하며 아무런 변경도 이루어지지 않습니다.- 빈 목록, 유효한 첫 번째/마지막 위치 및 존재하지 않는 값을 확인하십시오. 오버로딩과 그 반환값, 그리고 결과 목록을 읽으십시오; replace(교체), insert(삽입) 및 delete(삭제)는 서로 다른 계약(contract)을 가집니다.
ArrayList은方法来访问的可调整大小的序列。在 0 到 size 之间插入;读取、替换或移除从 0 到 size 减 1 的现有位置。remove(int) 删除一个位置;remove(Object) 如果找到则删除第一个相等的值。
After the stated insertion and removal, type the value returned by get(0).
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
The final list is [owl, dog], with owl at index 0.