Java에서 순서가 있는 데이터 집합을 다룰 때 가장 많이 사용하는 인터페이스는 List입니다. 이 글에서는 List 인터페이스의 개념부터 주요 구현 클래스인 ArrayList, LinkedList, Vector까지 정리해보겠습니다.
Collection 인터페이스의 하위 인터페이스| 메서드 | 설명 |
|---|---|
add(E e) | 리스트 끝에 요소 추가 |
add(int index, E element) | 특정 위치에 요소 삽입 |
remove(int index) | 특정 인덱스의 요소 삭제 |
get(int index) | 특정 인덱스의 요소 반환 |
set(int index, E element) | 특정 인덱스의 요소 수정 |
indexOf(Object o) | 주어진 요소가 처음 등장하는 인덱스 반환 |
subList(int fromIndex, int toIndex) | 지정된 범위의 부분 리스트 반환 |
ArrayList와 유사하지만, 동기화(synchronized) 지원 import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add(1, "Orange"); // 인덱스 1에 삽입
list.remove("Banana"); // Banana 삭제
System.out.println(list.get(0)); // Apple
System.out.println(list); // [Apple, Orange]
}
}
LinkedList는 자료구조인 연결 리스트(Linked List)를 기반으로 구현된 List의 구현체입니다.LinkedList는 Doubly Linked List)import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("Dog");
list.add("Cat");
list.addFirst("Tiger"); // 맨 앞에 삽입
list.removeLast(); // 맨 뒤 요소 삭제
System.out.println(list); // [Tiger, Dog]
}
}