정의
List는 Stack, Queue, Tree 등 다른 자료구조에서 활용될 기초 자료구조이다.
배열을 이용하여 구현하면 ArrayList, 연결을 통해 구현하면 LinkedList으로 구현할 수 있다.

출처 : 해시넷(wiki.hash.kr)
정의
크기가 변할 수 있는 배열이며 List 인터페이스를 상속받은 클래스 중 하나이다.
배열은 데이터를 추가, 삭제할 때 반복문으로 인덱스를 한 칸식 밀거나 당기는 식으로 공간을 조절하지만,
ArrayList는 이 과정을 자동으로 처리해 준다.

주요 메서드
| 메소드 | 설명 |
|---|---|
| boolean add(E e) | 지정된 제네릭 타입 데이터를 추가한다. |
| void add(int index, E element) | 특정 인덱스 위치에 데이터를 추가한다. |
| boolean addAll(Collection\<? extends E> c) | Collection을 현재 ArrayList에 모두 추가한다. |
| void clear() | 모든 데이터를 초기화한다. |
| boolean contains(Object o) | 파라미터로 전달된 객체를 포함하고 있는지 검사한다. |
| E get(int index) | 특정 인덱스 위치의 제네릭 타입의 데이터를 가져온다. |
| int indexOf(Object o) | 파라미터로 전달된 객체의 인덱스를 리턴한다. |
| Iterator / iterator() | 순차 데이터 처리를 하려고 Iterator 객체를 가져온다. |
| boolean remove(int index) | 특정 인덱스 위치의 데이터를 삭제한다. |
| int size() | ArrayList 객체에 포함된 데이터의 크기를 리턴한다. |
정의
크기가 변할 수 있는 배열이며 List 인터페이스를 상속받은 클래스 중 하나이다.

주요 메서드
| 메서드 | 설명 |
|---|---|
| boolean add(object) | LinkedList의 마지막에 데이터 추가 |
| void add(index, object) | LinkedList의 index위치에 데이터 추가 |
| void addFirst(object) | 가장 앞에 데이터 추가 |
| void addLast(object) | 가장 뒤에 데이터 추가 |
| void set(int Index, Object) | index위치에 데이터 변경 |
| Object remove(int index) | 첫번째 데이터 삭제 |
| Obejct removeFirst() | 첫번째 데이터 삭제 |
| Object removeLast() | 마지막 데이터 삭제 |
| void clear() | 모든 데이터 삭제 |
| boolean removeAll(Collection c) | 지정한 컬렉션에 저장된 것과 동일한 노드들을 LinkedList에서 제거한다 |
| boolean remove(Object obj) | 지정된 객체를 제거한다. (성공하면 true) |
| int size() | LinkedList에 저장된 객체의 개수를 반환한다. |
| boolean isEmpty() | LinkedList가 비어있는지 확인한다. |
| boolean contains(Object obj) | 지정된 객체(obj)가 LinkedList에 포함되어 있는지 확인한다. |
| boolean containsAll(Collection c) | 지정된 컬렉션의 모든 요소가 포함되었는지 알려줌. |
| int indexOf(Object obj) | 지정된 객체(obj)가 저장된 위치를 찾아 반환한다. |
| int lastIndexOf(Object obj) | 지정된 객체(obj)가 저장된 위치를 뒤에서 부터 역방향으로 찾아 반환한다. |
| Object get(in index) | 지정된 위치(index)에 저장된 객체를 반환한다. |
| List subList(int fromIndex, int toIndex) | fromIndex부터 toIndex사이에 저장된 객체를 List로 반환한다. |
| Object set(int index, Object obj) | 지정한 위치(index)의 객체를 주어진 객체로 바꾼다. |
| Object[] toArray() | LinkedList에 저장된 모든 객체들을 객체배열로 반환한다. |
| Object[] toArray(Obejct[] objArr) | LinkedList에 저장된 모든 객체들을 객체배열 objArr에 담아 반환한다. |
Linked List 이터레이터
| 메서드 | 설명 |
|---|---|
| Iterator iterator() | LinkedList의 Iterator객체를 반환한다 |
| ListIterator listIterator() | LinkedList의 ListIterator를 반환한다 |
| ListIterator listIterator(int index) | LinkedList의 지정된 위치부터 시작하는 ListIterator를 반환한다 |
참고 : https://devlogofchris.tistory.com/42
참고 : https://velog.io/@rara_kim/Java-ArrayList-%EC%82%AC%EC%9A%A9%EB%B2%95
참고 : https://koiking.tistory.com/83
참고 : https://prol0gue.tistory.com/9