Java - Collection Framework
List 컬랙션
- List 컬랙션은 객체를 일렬로 늘여 놓은 구조 를 가지고 있다.
- 객체를 인덱스로 관리하기 때문에 객체를 저장하면 인덱스가 부여되고 해당 인덱스를 이용해 검색, 삭제를 할 수 있다.
- List 컬랙션에서는 객체 자체를 저장하는 게 아니라 객체의 번지를 참조한다.
- 동일한 객체를 중복 저장할 수 있다.
- 대표적인 구현체로는 ArrayList, Vector, LinkedList 등이 있다.
메서드 | 설명 |
---|---|
boolean add(E e) | List 맨 끝에 데이터를 추가한 후 정상적으로 저장되면 true 실패하면 false 를 반환한다. |
void add(int index, E element) | 주어진 인덱스 위치에 데이터를 추가한다. |
set(int index, E element) | 주어진 인덱스 위치에 저장된 데이터를 변경한다. |
boolean contains(Object o) | 주어진 데이터가 List에 있는지 확인한다. |
E get(int index) | 주어진 인덱스에 저장된 데이터를 반환한다. |
isEmpty() | List 에 데이터가 있는지 확인한다. |
int size() | List 에저장 돼 있는 데이터의 전체 크기를 반환한다. |
E remove(int index) | 주어진 인덱스에 위치한 데이터를 삭제한다. |
void clear() | List 에 저장돼 있는 모든 원소들을 삭제한다. |
boolean remove(Object o) | List 에서 전달받은 데이터에 해당 하는 모든 원소를 삭제한다. |
Set 컬랙션
- 저장 순서가 유지되지 않기 때문에 Index 가 존재하지 않는다.
- 대신, Iterator 를 이용해 Set 에 저장된 데이터를 가져올 수 있다.
- 객체를 중복해서 저장할 수 없고, 하나의 null 만 저장할 수 있다.
- 대표적인 구현체로는 HashSet, TreeSet 이 있다.
메서드 | 설명 |
---|---|
boolean add(E e) | 데이터를 Set 에 저장한 후 정상적으로 저장되면 true를 중복 객체면 false 를 반환합니다. |
boolean contains(Object o) | 객체가 저장돼 있는지 여부를 리턴합니다. |
Iterator |
저장된 객체를 한번씩 가져오는 반복자를 반환한다. |
isEmpty() | Set 이 비어있는지 조사합니다. |
int Size() | Set 에 저장돼 있는 전체 객체수를 리턴합니다. |
void clear() | Set 에 저장된 모든 객체를 삭제 |
boolean remove(Object o) | Set 에 저장된 주어진 객체를 삭제합니다. |
Map 컬랙션
- Key, Value 형식 으로 데이터를 관리하는 자료구조
- 키는 중복 저장될 수 없지만 값은 중복 저장될 수 있다.
- 기존에 저장된 키와 동일한 키로 값을 저장하면 새로운 값으로 대체된다.
- 대표적인 구현체로는 HashMap, HashTable, LinkedHashMap, TreeMap 등이 있다.
메서드 | 설명 |
---|---|
V put(K Key, V value) | Map 에 주어진 키와 값을 추가해 저장되면 해당 값을 리턴합니다. |
boolean containsKey(Object Key) | Map 에 주어진 키 가 있는지 확인합니다. |
boolean containsValue(Object value) | Map 에 주어진 값 이 있는지 확인합니다. |
Set<Map.Entry<K,V>> entrySet() | 모든 Map.Entry 객체를 Set에 담아 리턴합니다. |
Set |
모든 키를 Set 객체에 담아서 리턴합니다. |
V get(Object key) | 주어진 키에 해당하는 값을 리턴합니다. |
boolean isEmpty() | Map 이 비어있는지 조사합니다. |
int Size() | Map 에 저장돼 있는 전체 객체의 수를 리턴합니다. |
Collection |
Map 에 저장된 모든 값을 Collection 객체에 담아서 리턴합니다. |
void clear() | 저장된 모든 Map.Entry를 삭제합니다. |
V remove(Object Key) | 주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴합니다. |