- 자바 배열의 단점을 보완하기 위해서 나왔다. 배열의 경우 데이터의 크기를 미리 알아야 하는 불편함이 존재한다. 다수의 데이터를 다루는데(추가, 삭제 등) 표준화된 클래스를 제공하여 데이터구조를 직접 구현하지 않아도 된다.
- 컬렉션 프레임워크: List, Map, Set 인터페이스 존재. (+ 스택, 큐 인터페이스 존재)
-> List: 리스트 인터페이스를 직접 오버라이드하여 사용자가 정의할 수 있도록 한다. ex) ArrayList, LikedList 등
원래 Vector를 사용했는데 ArrayList를 자주 사용한다. ArrayList는 Vector의 기능과 함께 추가/삭제 기능도 존재하고 동기화를 하지 않기 때문에 속도가 빠르다. 단점은 데이터 추가/제거가 빈번히 발생하면 오버헤드가 많이 발생한다.
->Map: 키-값의 구조이다. 대표적으로 해쉬맵이 있다 데이터 구조의 해쉬테이블과 일치하여 키를 기준으로 하여 중복값을 저장하지 않는다. 키의 순서를 위해 LinkedHashMap을 사용한다.
-> Set: 값에 대해 중복값을 저장하지 않는다. 대표적으로 HashSet이 있다. 키 대신에 값이 들어가서 값을 키로하는 자료구조이다.
-> 큐와 스택: 스택은 new 키워드로 사용하고 큐는 LinkedList 객체와 new 키워드로 사용한다.
'궁금 개념정리 > 자바' 카테고리의 다른 글
| 클래스, 인스턴스, 메소드 (0) | 2019.03.14 |
|---|---|
| 기본 입출력 방식 (0) | 2019.03.14 |
| 자바 컴파일러, 인터프리터 (0) | 2019.03.12 |
| 이클립스 단축키 (0) | 2019.03.12 |
| JAVA 입문 (0) | 2019.03.12 |