자료구조

LinkedList 와 ArrayList 차이

mygomii 2022. 2. 2. 22:48
반응형

ArrayList

  • 배열로 구현한 리스트
  • 배열을 이용하기 때문에 index를 이용해 데이터에 접근
  • 데이터를 조회할 땐 빠르지만, 데이터 추가/삭제할 땐 느림
  • 데이터 삭제한 빈자리를 채우긴 위해 뒤쪽 데이터를 한 칸씩 앞으로 당겨야 함

  • 데이터 삭제한 빈자리를 채우긴 위해 뒤쪽 데이터를 한 칸씩 앞으로 당겨야 함 

ArrayList numbers = new ArrayList();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
numbers.remove(3);

 

LinkedList

  • 노드들의 모임
  • 노드는 최소한 두 가지 정보를 알고 있어야함
  • 내부적으로 양방향 연결 리스트로 구성

LinkedList numbers = new LinkedList();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
numbers.remove(3);
System.out.println(numbers);
  • 데이터를 빈번히 조회한다면 ArrayList가 효과적
  • 데이터의 추가/삭제가 빈번하다면 LinkedList가 효과적
반응형