서론
배열을 사용하다 보면 크기가 고정적으로 여러가지 비효율적인 문제가 생긴다. 이러한 문제점을 해결하기 위해 데이터들을 효율적으로 관리하기 위한 자료구조를 만들었다. 이런 자료구조들이 있는 라이브러리를 컬렉션 프레임워크라고 한다. 순서대로 알아보자.
List 컬렉션
-> 객체를 일렬로 늘어놓은 구조이다. 객체를 인덱스로 관리하며 객체를 저장하면 자동 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공한다. List컬렉션은 객체의 번지를 참조한다.
List 클래스 주요 메서드
boolean add(E e) | 주어진 객체를 맨 끝에 추가 |
void add(int index, E element) | 주어진 인덱스에 객체를 추가합니다. |
set(int index, E element) | 주어진 인덱스에 저장된 객체를 주어진 객체로 바꿉니다. |
boolean contains(Object o) | 주어진 객체가 있는지에 대한 여부를 검색합니다. |
E get(int index) | 주어진 인덱스에 저장된 객체를 리턴합니다. |
isEmpty() | 컬렉션이 비어있는지 여부를 확인합니다. |
int size() | 저장되어 있는 전체 객체 수를 리턴합니다. |
E remove(int index) | 주어진 인덱스에 저장된 객체를 삭제합니다. |
void clear() | 주어진 인덱스에 저장된 객체를 삭제합니다. |
boolean remove(Object o) | 주어진 객체를 삭제합니다. |
Set 컬렉션
-> List 컬렉션과 다르게 저장 순서가 유지되지 않는다. 순서도 없으므로 객체를 검색해서 가져오는 메소드가 없다. 대신 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자(Iterator)를 제공한다.
Set 클래스 주요 메서드
boolean add(E e) | 주어진 객체를 저장 후 성공적이면 true를 중복 객체면 false를 리턴합니다. |
boolean contains(Object o) | 주어진 객체가 저장되어있는지 여부를 리턴합니다. |
Iterator<E> iterator() | 저장된 객체를 한번씩 가져오는 반복자를 리턴합니다. |
isEmpty() | 컬렉션이 비어있는지 조사합니다. |
int Size() | 저장되어 있는 전체 객체수를 리턴합니다. |
void clear() | 저장된 모든 객체를 삭제합니다. |
boolean remove(Object o) | 주어진 객체를 삭제합니다. |
Map 컬렉션
-> Map 컬렉션은 키(key)와 값(value)으로 구성된 객체를 저장하는 구조를 가지고 있는 자료구조이다. 키는 중복으로 저장할 수 없으며 값은 중복으로 저장이 가능하다.
Map 클래스 주요 메서드
V put(K Key, V value) | 주어진 키와 값을 추가하여 저장되면 값을 리턴합니다. |
boolean containsKey(Object Key) | 주어진 키가 있는지 확인합니다. |
boolean containsValue(Object value) | 주어진 값이 있는지 확인합니다. |
Set<Map.Entry<K,V>> entrySet() | 모든 Map.Entry 객체를 Set에 담아 리턴합니다. |
Set<K> keySet() | 모든 키를 Set객체에 담아서 리턴합니다. |
V get(Object key) | 주어진 키에 있는 값을 리턴합니다. |
boolean isEmpty() | 컬렉션이 비어있는지 조사합니다. |
int Size() | 저장되어 있는 전체 객체의 수를 리턴합니다. |
Collection<V> values() | 저장된 모든 값을 Collection에 담아서 리턴합니다. |
void clear() | 저장된 모든 Map.Entry를 삭제합니다. |
V remove(Object Key) | 주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴합니다. |
참고
https://coding-factory.tistory.com/550
'Programming > Back-end Language' 카테고리의 다른 글
[JAVA] BufferedReader와 StringTokenizer 사용법 (0) | 2022.05.09 |
---|---|
[JAVA] ConcurrentModificationException 오류 원인 및 해결 방법 (0) | 2022.05.02 |
[JAVA] Servlet HTTP 응답 데이터(Response) TEXT/ HTML / JSON (0) | 2022.04.17 |
[Spring] Http API Json 형식 데이터 받고 출력하기 (0) | 2022.04.15 |
[JAVA] Http 요청 데이터 -GET쿼리 파라미터 사용 방법 (0) | 2022.04.14 |