Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- JAVA기초
- break문
- 연관관계
- 컴파일
- function
- Thread
- 형 변환
- Java
- IntelliJ IDEA
- for문
- Java데이터 타입
- OPP개념
- 인텔리제이 한글 깨짐 해결법
- 메서드 오버로딩
- 자바 멀티스레딩
- 생성자
- 포함관계
- 상수
- While
- 메서드
- continue문
- 시스템 환경 변수 편집
- 집합관계
- this예약어
- 반복문
- 접근제어지시자
- java변수
- multi-threading
- 인텔리제이 기초 설정
- JAVA객체지향
Archives
- Today
- Total
최원종의 개발 블로그
List 인터페이스 - 컬렉션 본문
ArrayList 와 Vector 는 List 인터페이스를 구현한 클래스
계층 구조
Collection
|
└── List (인터페이스)
├── ArrayList ← 컬렉션-1 에서 배움
├── LinkedList
└── Vector ← 컬렉션-2 에서 배움
// List 인터페이스가 "이런 메서드를 반드시 가져야 한다" 는
//규칙을 정해두면 ArrayList, Vector 가 그 규칙을 따라 구현
// 그래서 두 클래스의 사용법이 거의 동일했던 것
List 의 세 가지 특징

//리스트의 3가지 특징
1. 순서 유지 : 넣은 순서대로 저장됩니다 (인덱스 0, 1, 2 ...)
2. 중복 허용 : 같은 값을 여러 번 저장할 수 있습니다
3. 가변 크기 : 데이터를 추가/삭제하면 크기가 자동으로 변합니다
배열과 비교
배열 : 순서 있음, 중복 허용, 크기 고정
List : 순서 있음, 중복 허용, 크기 자동 조절 ← 크기만 다름
List 선언 방법
import java.util.ArrayList;
import java.util.List;
// 방법 1: ArrayList 타입으로 선언
ArrayList<String> list1 = new ArrayList<>();
// 방법 2: List 타입으로 선언 (더 유연한 방법)
List<String> list2 = new ArrayList<>();
List 타입으로 선언하면 나중에
new ArrayList<>() 자리에 new LinkedList<>() 나 new Vector<>() 로 바꾸기쉬움
주요 메서드
List<String> list = new ArrayList<>();
// 추가
list.add("사과"); // 맨 끝에 추가
list.add(1, "포도"); // 인덱스 1 위치에 삽입
// 조회
list.get(0); // 인덱스로 가져오기
list.size(); // 실제 개수
list.contains("사과"); // 포함 여부 → true / false
list.indexOf("사과"); // 위치 반환, 없으면 -1
// 삭제
list.remove("사과"); // 값으로 삭제
list.remove(0); // 인덱스로 삭제
list.clear(); // 전체 삭제
// 확인
list.isEmpty(); // 비어있는지 → true / false
핵심 요약
List 인터페이스
순서 있음, 중복 허용, 크기 자동 조절
구현 클래스
ArrayList : 일반적인 상황, 조회 빠름
Vector : 멀티스레드 환경 (소켓 서버)
List 타입으로 선언하면 나중에 구현체를 바꾸기 쉬움
List<String> list = new ArrayList<>();
실습 코드
package collection.list;
import java.util.ArrayList;
import java.util.List;
public class MoveRating {
public static void main(String[] args) {
List<String> movies = new ArrayList<>();
movies.add("범죄도시 4 - ****");
movies.add("기생충 - *****");
movies.add("올드보이 - ****");
movies.add("왕과 사는 남자 - *****");
System.out.println("=== 전체 영화 목록 ===");
for (int i = 0; i < movies.size(); i++) {
System.out.println(i + ". " + movies.get(i));
}
System.out.println("\n 총" + movies.size() + "편");
//올드보이 삭제
movies.remove("올드보이 - ****");
movies.remove(1);
System.out.println("\n 삭제 후 총" + movies.size() + "편");
//"기생충" 이 있는지 확인
System.out.println("기생충 존재여부 확인 " + movies.contains("기생충 - ******"));
}
}
출력 화면
'Java > JAVA 유용한 클래스' 카테고리의 다른 글
| Map 인터페이스 - 컬렉션 (0) | 2026.03.31 |
|---|---|
| Set 인터페이스 - 컬렉션 (0) | 2026.03.30 |
| Vector - 컬렉션 (0) | 2026.03.30 |
| ArrayList - 컬렉션 (0) | 2026.03.30 |
| 컬렉션 프레임워크(Collections Framework) (0) | 2026.03.27 |
