리스트, 맵, 셋은 콜렉션 클래스를 상속받은 클래스들이다.
List
- 수집 순서가 있음
- 동일한 데이터에 대한 중복 입력이 가능
- 순차적인 대량의 데이터를 액세스하거나 입력할 때 유리한 방식
List분류 ArrayList - capacity는 수용할 수 있는 데이터의 개수를 의미 - 데이터가 늘어나게 되면 capacity가 동적으로 확장됨. - 크기를 지정하지 않으면 capacity는 기본 10이다. - 데이터를 10개 이상 사용한다면 무조건 10보다는 크게 잡아놔야 된다. 그래야 동적으로 capacity가 늘어나면서 수행되는 오버헤드를 줄일 수 있다. - 데이터의 삽입, 삭제가 좋지 않다.(배열들을 뒤로 밀거나 당겨야 하므로) Vector - ArrayList와 거의 동일. 다만 StringBuilder와 StringBuffer의 차이처럼 동기화를 지원하느냐 하지 않느냐의 차이 LinkedList - capacity의 개념이 없다. - 데이터를 삽입할 때는 주소값만 연결하면 되므로 고정된 크기의 연속된 집합인 ArrayList에 비해 삽입 삭제가 용이 - 검색 할 때는 처음부터 순차적으로 접근해야 하므로 속도가 느리다. |
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 |