014_ArrayList, LinkedList

Dec 15, 2023
014_ArrayList, LinkedList

ArrayList

  • 배열과 비슷하지만 크기를 지정하지 않아도 된다.
  • 크기가 동적으로 조절되어 데이터를 추가하고 삭제하는 것이 가능하다.
  • 각 데이터의 인덱스(주소값)를 가지고 있어 무작위로 접근이 가능하다. ex) 책의 목차
  • 데이터를 삭제 시 배열의 크기를 자동으로 조절한다.

LinkedList

  • 앞의 데이터가 다음 데이터의 인덱스(주소값)를 알고 있어 순차적으로 찾는데 용이하다.
  • 다음 인덱스만 저장이 되어 있어 운이 좋으면 빨리 운이 없으면 늦게 데이터를 찾는다.
  • 순차적으로 데이터를 조회하기 때문에 직접적으로 원하는 데이터를 찾고 싶을 때는 사용하지 않는다.
  • 데이터를 삭제 시 이전 데이터가 삭제 데이터를 건너 뛰어서 인덱스(주소값)을 가지도록 해준다.

ArrayList 기본 구조

ArrayList<String> list; // <>안 은 ArrayList에 저장할 자료형 뒤는 참조 변수 선언 list = new ArrayList<>(); // ArrayList 생성 list.add("Apple"); list.add("Grape"); // 데이터를 추가
ArrayList와 LinkedList를 ‘컬렉션’이라 한다.
💡
‘컬렉션’은 데이터를 효율적으로 저장하고 처리하기 위한 자료 구조와 알고리즘을 제공하는 라이브러리이다.

ArrayList 예제
package ex03; import java.util.ArrayList; // ArrayList 예시 public class ArrayListTest { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); // ArrayList 생김새 list.add("철수"); // 0 list.add("영희"); // 1 list.add("순신"); // 2 list.add("지영"); // 3 의 위치에 저장된다. 중간에 지워져도 주소를 다음껄로 자동으로 바꾼다. System.out.println(list.get(3)); // 불러오기 list.remove(3); // 삭제 //System.out.println(list.get(3)); // 배열에서의 오류와 같다. } }
출력 결과
notion image
컬렉션(List 통합 설명) 그림 예제
notion image
Share article

chodong