CS/Algorithm

ArrayList와 LinkedList의 차이점 [ Java ]

yujindonut 2021. 4. 4. 17:36
728x90

ArrayList 는 데이터를 배열에서 관리한다.

데이터의 추가, 삭제를 위해 데이터의 추가, 삭제를 위해 임시 배열을 생성해서 데이터를 복사하는 방법 등을 사용한다.

시간 복잡도

-삭제, 삽입 : O(n)

-데이터 검색 : O(1) : get(int index)를 통해 굉장히 빠르게 검색할 수 있다.

 

LinkedList는 데이터를 저장하는 각 노드가 이전 노드와 다음 노드의 상태만 알고 있는 것

시간 복잡도 

-삭제, 삽입 : O(1) (이전 노드와 다음 노드를 참조하는 상태에서)

-데이터 검색 : O(N) : head노드부터 탐색을 해야함

728x90