List, Map, Set - Collection

JAVA 2015. 8. 29. 16:00

리스트, 맵, 셋은 콜렉션 클래스를 상속받은 클래스들이다.

 

List 

- 수집 순서가 있음

- 동일한 데이터에 대한 중복 입력이 가능

- 순차적인 대량의 데이터를 액세스하거나 입력할 때 유리한 방식

List분류
 
ArrayList
 
- capacity는 수용할 수 있는 데이터의 개수를 의미
 
- 데이터가 늘어나게 되면 capacity가 동적으로 확장됨.

- 크기를 지정하지 않으면 capacity는 기본 10이다.
- 데이터를 10개 이상 사용한다면 무조건 10보다는 크게 잡아놔야 된다. 그래야
동적으로 capacity가 늘어나면서 수행되는 오버헤드를 줄일 수 있다.
- 데이터의 삽입, 삭제가 좋지 않다.(배열들을 뒤로 밀거나 당겨야 하므로)
 
Vector
- ArrayList와 거의 동일. 다만 StringBuilder와 StringBuffer의 
차이처럼 동기화를 지원하느냐 하지 않느냐의 차이
 
LinkedList
- capacity의 개념이 없다.
 
- 데이터를 삽입할 때는 주소값만 연결하면 되므로 고정된 크기의 연속된 집합인 
ArrayList에 비해 삽입 삭제가 용이
 
- 검색 할 때는 처음부터 순차적으로 접근해야 하므로 속도가 느리다.
 
 

cs


Map

Key & Value 형태의 자료구조

- 수집의 순서를 기억하지 않음

- 동일한 키값을 중복하여 입력 할 수 없음


Set

- 중복데이터의 입력을 불허

- 순서가 없다.

- 중복되지 않은 수(데이터)를 구할 때 용이하다.

- 집합의 개념

'JAVA' 카테고리의 다른 글

Java finalize  (0) 2015.10.26
Call By Value vs Call By Reference  (0) 2015.09.14
자바 8 특징  (0) 2015.08.29
volatile 키워드 vs synchronized 키워드  (0) 2015.08.29
인스턴스 메소드 vs 클래스(스태틱) 메소드  (0) 2015.08.25
Posted by slender ankles
,