
- ArrayList
- LinkedList
- Vector (+ Vector를 상속받은 Stack)

출처(https://st-lab.tistory.com/142)
- 요소접근에 뛰어난 성능.
- 중간에 요소가 삽입, 삭제될 경우 그 뒤 요소들이 밀리거나 당겨져야 하기 때문에 삽입, 삭제에서 비효율적.
- Node(노드): 데이터와 주소로 이루어진 클래스
- 이전 Node와 다음 Node 끼리 연결
- 검색 시 처음부터 원하는 노드가 나올 때 까지 연결된 노드들을 모두 방문해야하니 검색 효율이 낮음.
- Node 삭제, 삽입 시 링크를 끊거나 연결만 하면 되기 때문에 효율이 좋음.
- 동기화를 지원하는 ArrayList.
- 멀티 쓰레드에서는 안전하지만, 단일 쓰레드에서도 동기화를 하기 때문에 ArrayList에 비해 성능이 약간 느림.
- Vector Class를 상속받음.
- LIFO(Last In First Out)의 자료구조.
T = TYPE
ArrayList<T> arraylist = new ArrayList<>();
LinkedList<T> linkedlist = new LinkedList<>();
Vector<T> vector = new Vector<>();
Stack<T> stack = new Stack<>();
//stack 선언 다른 방법
Vector<T> stack = new Stack<>();