ArrayList / LinkedList

이진섭·2022년 12월 8일
0

java

목록 보기
9/10

ArrayList

  • ArrayList는 내부적으로 데이터를 배열에서 관리하며 데이터의 추가, 삭제를 위해 임시 배열을 생성해 데이터를 복사 하는 방법을 사용하고 있다
  • 대량의 자료를 추가/삭제 하는 경우에는 그만큼 데이터의 복사가 많이 일어나게 되어 성능 저하를 일으킬 수 있다.
  • 반면 각 데이터는 인덱스를 가지고 있어 한번에 참조가 가능해 빠른 검색에 유리하다

LinkedList

  • LinkedList는 불연속적으로 존재하는 데이터를 서로 연결한 형태로 구성되어 있다.
  • LinkedList의 각 노드들은 자신과 연결된 다음 요소에 대한 참조(주소값)와 데이터로 구성되어 있다
  • LinkedList에서의 데이터 삭제는 간단하다 삭제하고자 하는 요소의 다음 요소를 참조하도록 변경하면 되기 때문이다.
  • 배열처럼 데이터를 이동하기 위해 복사하는 과정이 없기 때문에 처리속도 매우 빠르다
  • 링크드리스트는 각 요소들이 연결되어 있기 대문에 처음부터 차레대로 따라가야만 원하는 값을 얻을 수 있다 (검색 느림)

결론 다루고자 하는 데이터의 개수가 변하지 않는 경우 -> ArrayList
데이터의 추가 삭제 등 변경이 잦다면 -> LinkedList

profile
하루하루성장하기

0개의 댓글