Java Collections FrameWork
-> 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합으로 인터페이스로 구현된다
Collection에는 크게 3가지 인터페이스로 나뉘어있다.
List, Queue, Set
(출처: https://st-lab.tistory.com/142)
// Collection
public interface Collection<E> extends Iterable<E>
// Iterable
public interface Iterable<T> {
/**
* Returns an iterator over elements of type {@code T}.
*
* @return an Iterator.
*/
Iterator<T> iterator();
// Iterator 내부 메소드
boolean hasNext()
E next()
default void remove()
Deque는 Queue를 상속받고 있다.
public interface Deque<E> extends Queue<E>
LinkedList는 List와 Deque를 모두 구현하고 있다
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
Deque 또는 Queue를 LinkedList 처럼 Node 객체로 연결해서 관리하길 원한다면 LinkedList를 쓰면 된다.
Object[] 배열로 구현되어 있는 것은 ArrayDeque 이다
PriorityQueue는 우선순위가 있는 큐이다. default로는 작은 수가 우선순위를 가지게 된다
Queue<String> linkedQueue = new LinkedList<>();
Queue<String> arrayQueue = new ArrayDeque<>();
Queue<String> priorityQueue = new PriorityQueue<>();
HashSet<String> hashSet = new HashSet<>();
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
TreeSet<String> treeSet = new TreeSet<>();
Collection 인터페이스를 상속받지 않음.
자바 컬렉션 프레임워크란 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)하기 위해서 사용하는 라이브러리다.
그 기본 인터페이스에 List, Queue, Set 이 있다