728x90
반응형
SMALL
이전 글 에 이어서 List 인터페이스에 대한 내용을 포스팅 하고자 한다.
List 란 & Why List?
- 자바의 array의 한계를 극복하기 위해 만들어진 자료형
- 저장된 요소들의 순서가 있고 데이터에 중복이 가능한 인덱스(index) 번호에 의해서 정렬됨
- array는 사이즈가 고정 되어있지만 List는 사이즈가 고정되어있지 않음 (동적으로 변한다는 표현 사용)
- List의 어느 위치에서나 요소를 추가, 제거, 수정이 가능함
- 반복을 위한 메소드를 지원 (iterable)
- 이전 글에서 확인 할 수 있듯이 List는 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용하는 인터페이스
- 여러가지 구현 클래스가 있고 각 클래스는 다양한 기능 과 특징을 가지고 있다.
- ArrayList
- LinkedList
- Vector
- Stack
- List는 Generic 을 지원하여 다양한 자료형 데이터를 저장할 수 있음!
- 기본 자료형의 값을 객체로 감싸는 Wrapper에 대해서 알고 싶다면
List 인터페이스가 가지는 주요한 메소드
- List인터페이스는 Collection 인터페이스를 상속받으므로, Collection 인터페이스의 메소드들 모두 사용 할 수 있다.
예시
import java.util.List;
- List를 사용하기 위해서는 util에서 import 해주어야 한다.
- List 대신 * 를 통해 util에 있는 모든 package들을 import받을 수 있다.
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> l1 = Collections.emptyList(); // 빈 List
System.out.println(l1.getClass()); //class java.util.Collections$EmptyList
// 해당 메소드는 ArrayList로 생성된다.
List<String> l2 = Arrays.asList("hihi", "byebye");
System.out.println(l2.getClass()); // class java.util.Arrays$ArrayList
// List는 인터페이스이기 때문에 new 생성가 가능은 하지만 안에 인터페이스 메소드들을 "구현"해주어야 한다.
//List<String> l3 = new List<String>() {}
}
}
728x90
반응형
LIST
'프로그래밍 > 자바' 카테고리의 다른 글
[자바/기본] 람다식 (Lambda) 란? (0) | 2024.02.16 |
---|---|
[자바/기본] 내부 클래스(InnerClass) (0) | 2024.02.14 |
[자바/기본] Collection Framework란? (0) | 2024.02.11 |
[자바/기본] Generic 이란? (0) | 2024.02.11 |
[자바/기본] Wrapper 클래스란? (Boxing, UnBoxing) (1) | 2024.02.06 |