해당 글에서는 Java 11 버전을 기준으로 LinkedList 인터페이스의 API에 대해서 확인합니다.
1) LinkedList
💡 연결 리스트(Linked List)
- 데이터 요소를 ‘노드(Node)’로 구성된 선형 자료구조입니다. 각 노드는 데이터와 다음 노드를 가리키는 링크(포인터)로 이루어져 있습니다.
- 연결 리스트는 동적 크기 조정이 용이하고, 삽입과 삭제가 빠르게 이루어질 수 있는 장점이 있습니다.
- 하지만 특정 위치에 접근하는 데에는 선형적인 탐색이 필요하기 때문에 접근 속도가 느릴 수 있습니다.
- 주로 데이터의 삽입과 삭제가 빈번하게 일어나는 상황에서 주로 사용됩니다. 큐(Queue)나 스택(Stack)과 같은 자료구조를 구현할 때 많이 활용됩니다. 또한 데이터 크기가 동적으로 변환하는 상황에서 유용하게 사용됩니다.

2) LinkedList Class Method
💡 해당 API 문서는 Java 11 버전을 기준으로 요약 정리한 API Document입니다.
💡 ”분류” 부분은 개인적인 기준으로 분류하였으니 참고하시면 도움이 될 것 같습니다.

1. LinkedList 주요 메서드
| 메소드 | 리턴 값 | 분류 | 설명 |
| add(int index, element) | void | 리스트 요소 추가 | 지정된 위치에 지정된 요소를 이 목록에 삽입합니다. |
| add(e) | boolean | 리스트 요소 추가 | 지정된 요소를 이 목록의 끝에 추가합니다. |
| addAll(index, c) | boolean | 리스트 요소 추가 | 지정된 컬렉션의 모든 요소를 이 목록에 지정된 위치부터 시작하여 삽입합니다. |
| addAll(c) | boolean | 리스트 요소 추가 | 지정된 컬렉션의 모든 요소를 이 목록의 끝에 지정된 컬렉션의 반복자가 반환하는 순서대로 추가합니다. |
| addFirst(e) | void | 리스트 요소 추가 | 지정된 요소를 이 목록의 처음에 삽입합니다. |
| addLast(e) | void | 리스트 요소 추가 | 지정된 요소를 이 목록의 끝에 추가합니다. |
| offer(E e) | boolean | 리스트 요소 추가 | 지정된 요소를 이 목록의 꼬리(마지막 요소)로 추가합니다. |
| offerFirst(E e) | boolean | 리스트 요소 추가 | 지정된 요소를 이 목록의 앞부분에 삽입합니다. |
| offerLast(E e) | boolean | 리스트 요소 추가 | 지정된 요소를 이 목록의 끝에 삽입합니다. |
| push(E e) | void | 리스트 요소 추가 | 이 목록에 의해 나타낸 스택에 요소를 푸시합니다. |
| set(int index, E element) | E | 리스트 요소 수정 | 이 목록에서 지정된 위치에 있는 요소를 지정된 요소로 바꿉니다. |
| get(int index) | E | 리스트 요소 조회 | 리스트의 지정된 위치의 요소를 반환합니다. |
| getFirst() | E | 리스트 요소 조회 | 리스트의 첫 번째 요소를 반환합니다. |
| getLast() | E | 리스트 요소 조회 | 리스트의 마지막 요소를 반환합니다. |
| indexOf(Object o) | int | 리스트 요소 조회 | 리스트의 지정된 요소의 첫 번째 발생 위치의 인덱스를 반환하거나 해당 요소가 없으면 -1을 반환합니다. |
| lastIndexOf(Object o) | int | 리스트 요소 조회 | 리스트의 지정된 요소의 마지막 발생 위치의 인덱스를 반환하거나 해당 요소가 없으면 -1을 반환합니다. |
| element() | E | 리스트 요소 조회 | 리스트의 첫 번째 요소(head)를 검색하지만 제거하지는 않습니다. |
| peek() | E | 리스트 요소 조회 | 리스트의 첫 번째 요소(head)를 검색하지만 제거하지는 않습니다. |
| peekFirst() | E | 리스트 요소 조회 | 리스트의 첫 번째 요소(head)를 검색하지만 제거하지는 않습니다. 목록이 비어있으면 null을 반환합니다. |
| peekLast() | E | 리스트 요소 조회 | 리스트의 마지막 요소를 검색하지만 제거하지는 않습니다. 목록이 비어있으면 null을 반환합니다. |
| contains(Object o) | boolean | 리스트 요소 조회 | 리스트의 지정된 요소를 포함하는 경우 true를 반환합니다. |
| listIterator(int index) | ListIterator<E> | 리스트 순회 조회 | 리스트의 지정된 위치에서 시작하여 요소의 순서에 맞게 요소의 목록 반복자를 반환합니다. |
| descendingIterator() | Iterator<E> | 리스트 순회 조회 | 이 덱의 요소에 대한 역순 순차적 반복자를 반환합니다. |
| remove() | E | 리스트 요소 제거 | 리스트의 첫 번째 요소(head)를 검색하고 제거합니다. |
| remove(int index) | E | 리스트 요소 제거 | 리스트의 지정된 위치의 요소를 제거합니다. |
| remove(Object o) | boolean | 리스트 요소 제거 | 리스트의 지정된 요소의 첫 번째 발생을 제거하고 요소가 있으면 true를 반환합니다. |
| removeFirst() | E | 리스트 요소 제거 | 리스트의 첫 번째 요소를 제거하고 반환합니다. |
| removeFirstOccurrence(Object o) | boolean | 리스트 요소 제거 | 리스트의 지정된 요소의 첫 번째 발생을 제거합니다(머리에서 꼬리로 목록을 탐색할 때). |
| removeLast() | E | 리스트 요소 제거 | 리스트의 마지막 요소를 제거하고 반환합니다. |
| removeLastOccurrence(Object o) | boolean | 리스트 요소 제거 | 리스트의 지정된 요소의 마지막 발생을 제거합니다(머리에서 꼬리로 목록을 탐색할 때). |
| pop() | E | 리스트 요소 제거 | 리스트에 나타낸 스택에서 요소를 팝합니다. |
| clear() | void | 리스트 요소 제거 | 리스트의 모든 요소를 제거합니다. |
| poll() | E | 리스트 요소 조회 및 제거 | 리스트의 첫 번째 요소(head)를 검색하고 제거합니다. |
| pollFirst() | E | 리스트 요소 조회 및 제거 | 리스트의 첫 번째 요소를 검색하고 제거하거나 목록이 비어있으면 null을 반환합니다. |
| pollLast() | E | 리스트 요소 조회 및 제거 | 리스트의 마지막 요소를 검색하고 제거하거나 목록이 비어있으면 null을 반환합니다. |
| clone() | Object | 일반 설정 | LinkedList의 얕은 복사본을 반환합니다. |
| size() | int | 일반 설정 | 리스트의 요소 수를 반환합니다. |
| spliterator() | Spliterator<E> | 일반 설정 | 리스트의 요소를 지연 바인딩 및 실패 신속한 방식으로 생성합니다. |
| toArray() | Object[] | 일반 설정 | 리스트의 모든 요소를 적절한 순서(첫 번째 요소부터 마지막 요소까지)로 포함하는 배열을 반환합니다. |
| toArray(T[] a) | <T> T[] | 일반 설정 | 리스트의 모든 요소를 적절한 순서(첫 번째 요소부터 마지막 요소까지)로 포함하는 배열을 반환합니다. 반환된 배열의 실행 시간 유형은 지정된 배열의 실행 시간 유형입니다. |
LinkedList (Java SE 11 & JDK 11 )
Returns a list-iterator of the elements in this list (in proper sequence), starting at the specified position in the list. Obeys the general contract of List.listIterator(int). The list-iterator is fail-fast: if the list is structurally modified at any tim
docs.oracle.com
오늘도 감사합니다. 😀
'Java > API Document' 카테고리의 다른 글
| [Java/API] MockMvc, ResultActions, MvcResult Method API Document : Spring Framework (0) | 2023.12.16 |
|---|---|
| [Java/API] Assertions Method API Document : JUnit 5 (0) | 2023.12.15 |
| [Java/API] WebClient Method API Document : Java 11 (0) | 2023.08.14 |
| [Java/API] Priority Queue Method API Document : Java 11 (0) | 2023.07.20 |
| [Java/API] Queue Method API Document : Java 11 (0) | 2023.07.15 |

