*List 컬렉션 클래스
-리스트와 배열의 가장 큰 차이점은 크기가 정해져 있지 않고 동적으로 변한다는 점
-데이터를 크기를 알 수 없을 때 유용하게 사용
-요소의 저장 순서가 유지
-같은 요소의 중복 저장을 허용
-데이터 크기가 고정X(동적 할당)
-데이터를 다루기 위한 여러 방법이 제공
List 컬렉션 클래스의 종류
-ArrayList
-LinkedList
-Vector
-Stack
add : 해당 컬렉션에 요소를 추가 하거나 해당 인덱스 위치에 값을 삽입
pitches.add(0, "130");
get : 특정 위치의 값을 가져 올 때
System.out.println(pitches.get(1));
size : ArrayList의 갯수를 리턴
System.out.println(pitches.size());
contains : 리스트 안에 해당 항목이 있는지를 판별하여 그 결과를 boolean으로 리턴
System.out.println(pitches.contains("142"));
remove(객체) : 리스트에서 객체에 해당되는 항목을 삭제하고 삭제한 결과(true, false)를 리턴
System.out.println(pitches.remove("129"));
true
remove(인덱스) : 해당 인덱스의 항목을 삭제하고 삭제된 항목을 리턴
예제
LinkedList<E> 클래스 (사용 방법은 ArrayList와 동일)
-LinkedList 클래스는 ArrayList 클래스가 배열을 이용하여 요소를 저장함으로써 발생하는 단점을 극복하기 위해 고안
-JDK 1.2부터 제공된 LinkedList 클래스는 내부적으로 연결 리스트(linked list)를 이용하여 요소를 저장
-배열은 저장된 요소가 순차적으로 저장된다. 하지만 연결 리스트는 저장된 요소가 비순차적으로 분포되며, 이러한 요소들 사이를 링크(link)로 연결하여 구성한다.
Vector
-Vector는 ArrayList와 동일한 내부 구조를(사용 방법 동일)
List<E> list = new Vector<E>();
-ArrayList와 다른점은 동기화된(synchronized) 메소드로 구성되어 있어 멀티 쓰레드 환경에서 안전하지만 ArrayList에 비해 성능은 떨어짐.
'java' 카테고리의 다른 글
java (Set-HashSet) (0) | 2022.09.29 |
---|---|
java (Map-HashMap,Hashtable, Properties) (0) | 2022.09.29 |
java (generic, 컬렉션 프레임워크) (0) | 2022.09.29 |
java (Wrapper 클래스, Arrays 클래스, StringTokenizer) (0) | 2022.09.28 |
java (Math 클래스, Date, Calendar 클래스) (0) | 2022.09.28 |