728x90
1. List - 인터페이스
- List는 인터페이스로, 여러 종류의 리스트형 클래스들이 구현해야 할 메서드의 집합입니다.
- List 인터페이스는 순서를 유지하며, 중복 요소를 허용하는 컬렉션입니다.
- ArrayList, LinkedList, Vector 등이 List 인터페이스를 구현합니다.
- 변수나 메서드의 다형성을 지원하기 위해 List를 사용하는 것이 일반적입니다. 예를 들어, ArrayList로 생성된 객체를 List 타입 변수에 할당할 수 있습니다.
List<String> myList = new ArrayList<>();
이렇게 List 타입을 사용하면, 나중에 LinkedList나 다른 List 구현체로 쉽게 바꿀 수 있습니다.
여기서 선언타입은 List인데 생성은 ArrayList로 하는 이유는 List가 인터페이스이기 때문에 직접 인스턴스화 할수 없기때문입니다!
2. ArrayList - 클래스
- ArrayList는 List 인터페이스를 구현한 클래스입니다.
- 내부적으로 배열을 사용해 데이터를 저장하므로, 인덱스를 통해 빠르게 요소에 접근할 수 있습니다.
- 동적 크기 조정을 지원하여, 배열이 가득 차면 자동으로 크기를 확장해 요소를 추가할 수 있습니다.
- 기본적으로 배열과 유사한 성질을 가지지만, 요소 추가/삭제가 많다면 성능이 떨어질 수 있습니다.
예시:
ArrayList<String> myArrayList = new ArrayList<>();
myArrayList.add("Hello");
myArrayList.add("World");
*ArrayList와 LinkedList 비교(참고)
728x90
'프로그래밍 > Java' 카테고리의 다른 글
JAR(Java ARchive), WAR(Web Application Archive)의 개념과 차이 (2) | 2024.10.27 |
---|---|
Map 인터페이스의 사용 (1) | 2024.10.26 |
Dependency injection(DI)란? (0) | 2024.10.24 |
@Controller와 @RestController의 차이 (0) | 2024.10.23 |
Portable Service Abstraction개념 활용 테스트 코드 작성 (0) | 2024.10.22 |