자바의 정석 - LinkedList

송용준·2023년 3월 31일

LinkedList - 배열의 장단점

- 장점 : 배열은 구조가 간단하고 데이터를 읽는 데 걸리는 시간이 짧다.

- 단점1 : 크기를 변경할 수 없다.

  1. 크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야함.
  2. 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리 낭비

- 단점2 : 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다.

  1. 데이터를 추가하거나 삭제하기 위해, 다른 데이터를 옮겨야하 함
  2. 그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다.

LinkedList - 배열의 단점을 보완

  • 배열과 달리 링크드 리스트는 불연속적으로 존재하는 데이터를 연결(link)
    --> 데이터의 삭제 : 단 한 번의 참조변경만으로 가능

--> 데이터의 추가 : 한번의 Node객체생성과 두 번의 참조변경만으로 가능

LinkedList - 이중 연결 리스트

단점

  • 연결 리스트 : 데이터 접근성이 나쁨

  • 이중 연결 리스트 : 앞뒤로 이동 가능하여 접근성 향상

  • 이중 원형 연결 리스트 : 맨 앞을 맨 뒤하고 연결하여 접근성 향상

ArrayList(배열기반) vs LinkedList(연결기반) 성능비교

  1. 순차적 데이터 추가/삭제 - ArrayList 빠름
  2. 비순차적 데이터 추가/삭제 - LinkedList가 빠름
  3. 접근시간(access time) - ArrayList가 빠름
profile
용용

0개의 댓글