프로그래밍 노트/자료구조
ArrayList, LinkedList 성능비교
깡냉쓰
2018. 11. 1. 13:38
728x90
반응형
성능을 비교할 자료구조는 세가지 이다.
앞에서 구현한 MyArrayList, MyLinkedList 와 Java에서 구현되어 있는 LinkedList 이다.
앞에서 구현한 MyLinkedList와 Java에서 구현된 LinkedList 차이점은 MyLinkedList는 List 인터페이스만 구현하였고, LinkedList는 List와 Deque 인터페이스를 구현한 이중 연결 리스트이다.
구분 |
MyArrayList |
MyLinkedList |
LinkedList |
add(끝) |
1 |
n |
1 |
add(시작) |
n |
1 |
1 |
add(일반적) |
n |
n |
n |
get/set |
1 |
n |
n |
indexOf/lastIndexOf |
n |
n |
n |
isEmpty/size |
1 |
1 |
1 |
remove(끝) |
1 |
n |
1 |
remove(시작) |
n |
1 |
1 |
remove(일반적) |
n |
n |
n |
응용 프로그램의 실행시간이 get, set 메서드에 의존한다면 ArrayList 클래스가 좋은 선택
실행시간이 시작이나 끝 근처에 요소를 추가하거나 제거하는 연산에 의존한다면 LinkedList 클래스가 좋다.
728x90
반응형