자료구조
LinkedList 와 ArrayList 차이
mygomii
2022. 2. 2. 22:48
반응형
ArrayList
- 배열로 구현한 리스트
- 배열을 이용하기 때문에 index를 이용해 데이터에 접근
- 데이터를 조회할 땐 빠르지만, 데이터 추가/삭제할 땐 느림
- 데이터 삭제한 빈자리를 채우긴 위해 뒤쪽 데이터를 한 칸씩 앞으로 당겨야 함
- 데이터 삭제한 빈자리를 채우긴 위해 뒤쪽 데이터를 한 칸씩 앞으로 당겨야 함
ArrayList numbers = new ArrayList();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
numbers.remove(3);
LinkedList
- 노드들의 모임
- 노드는 최소한 두 가지 정보를 알고 있어야함
- 내부적으로 양방향 연결 리스트로 구성
LinkedList numbers = new LinkedList();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
numbers.remove(3);
System.out.println(numbers);
- 데이터를 빈번히 조회한다면 ArrayList가 효과적
- 데이터의 추가/삭제가 빈번하다면 LinkedList가 효과적
반응형