- 요소들은 인덱스로 관리된다 (0부터 시작)
- 삽입 순서를 유지한다
- 중복된 값을 허용한다
주요 메서드
메서드 | 설명 |
`add(E e)` | 요소를 리스트 끝에 추가 |
`add(int index, E e)` | 특정 위치에 요소 추가 |
`get(int index)` | 인덱스에 있는 요소 반환 |
`set(int index, E e)` | 특정 인덱스의 요소를 변경 |
`remove(int index)` | 특정 인덱스의 요소 삭제 |
`size()` | 리스트의 크기 반환 |
`isEmpty()` | 리스트가 비어있는지 확인 |
ArrayList
내부적으로 배열을 사용하여 데이터를 관리하는 `List`의 구현체
초기 크기를 정하지 않아도 필요에 따라 자동으로 크기가 증가
읽기/검색이 빈번한 작업에 적합함
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
// 추가
numbers.add(10);
numbers.add(20);
numbers.add(30);
// 출력
System.out.println(numbers); // [10, 20, 30]
// 삭제
numbers.remove(1);
System.out.println(numbers); // [10, 30]
}
}
LinkedList
이중 연결 리스트 구조로 데이터를 관리하는 `List`의 구현체
메모리 사용량이 많음
삽입/삭제가 빈번한 작업에 적합
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 요소 추가
list.add("A");
list.add("B");
list.addFirst("Start");
list.addLast("End");
// 출력
System.out.println(list); // [Start, A, B, End]
// 삭제
list.removeFirst();
list.removeLast();
System.out.println(list); // [A, B]
}
}
출처 : ChatGPT
'BE > Java' 카테고리의 다른 글
[Java] Map (0) | 2024.12.07 |
---|---|
[Java] Optional (0) | 2024.12.06 |
[Java] 컬렉션 (0) | 2024.12.04 |
[Java] 래퍼 클래스 (0) | 2024.12.03 |
[Java] break, continue, return (0) | 2024.12.02 |