ArrayList | LinkedList | |
---|---|---|
입력 | 빠르다 | |
→ index로 위치 지정 | 빠르다 | |
→ 마지막 노드에 덧붙이기 | ||
조회 | 빠르다 | |
→ index로 바로 접근 | 느리다 | |
→ head노드 부터 링크를 따라간다 | ||
변경 | 빠르다 | 느리다 |
→ head노드부터 지정된 위치까지 링크를 따라 찾아간다 | ||
삭제 | 느리다 | |
→ 배열의 항목을 앞으로 당겨야한다 | 빠르다 | |
크기변경 | 가능 | |
→ 가비지가 많이 생기고, 느리다 | ||
⇒ 메모리 낭비가 크다 | ||
⇒ 메모리 크기가 고정되기 때문에 불필요한 메모리가 점유될 수 있다 | 가능 | |
→ 제한 없다, 값을 추가할 때 자동 증가 | ||
⇒ 메모리 낭비가 적다 | ||
⇒ 메모리 크기를 고정하지 않는다 |
→ 또한 선택일 뿐 장단점은 둘 다 존재