Java - 문제 미리보기

문제 2350

medium
ArrayList와 LinkedList의 내부 구조에 대한 설명으로 올바른 것은?
A. ArrayList는 연결 리스트, LinkedList는 배열을 내부적으로 사용함
B. ArrayList는 배열, LinkedList는 컨테이너들을 링크로 연결한 구조를 사용함
C. 둘 다 동일한 배열 구조를 사용함
D. 둘 다 동일한 연결 리스트 구조를 사용함

정답: B



ArrayList의 내부 구조:
⦁ 일반 배열(array)을 내부적으로 사용
⦁ 요소 추가 시 배열에 저장
⦁ 배열 크기가 부족하면 더 큰 새 배열을 생성하고 기존 데이터 복사
```java
// ArrayList 내부 동작 (개념적)
Object[] elementData = new Object[10]; // 내부 배열
// 크기 부족 시 새 배열 생성
Object[] newArray = new Object[20]; // 더 큰 배열
System.arraycopy(elementData, 0, newArray, 0, elementData.length);
```
LinkedList의 내부 구조:
⦁ 컨테이너(노드)들을 링크로 연결한 구조
⦁ 각 컨테이너는 데이터 + 다음 컨테이너의 주소를 포함
⦁ 첫 번째 컨테이너에 대한 링크만 유지
```java
// LinkedList 내부 동작 (개념적)
class Node {
Object data; // 실제 데이터
Node next; // 다음 노드 참조
Node previous; // 이전 노드 참조 (양방향 연결)
}
```

💡 학습 팁

이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.