본문 바로가기

Algorithm/Basic

[Java] LinkedList 사용법 정리

1. LinkedList 란?

https://medium.com/journey-of-one-thousand-apps/data-structures-in-the-real-world-508f5968545a

 

2. LinkedList vs ArrayList

public class LinkedList<E>
   extends AbstractSequentialList<E>
   implements List<E>, Deque<E>, Cloneable, Serializable
public class ArrayList<E>
   extends AbstractList<E>
   implements List<E>, RandomAccess, Cloneable, Serializable

LinkedList와 ArrayList는 위와 같이 인터페이스를 구현하고 있습니다. 한가지 다른건 Deque를 구현한다는 점이 ArrayList와 다릅니다. 따라서 Java의 Queue에서 지원하는 메소드를 사용할 수 있다는게 특징입니다.

 

Queue 지원 메소드(FIFO 특성)
  • boolean offer(Object o): Queue에 삽입
  • Object poll(): Queue에서 가장 먼저 삽입된 요소 제거하며 읽기
  • Object peek(): Queue에서 가장 먼저 삽입된 요소 제거하지 않고 읽기
LinkedList 지원 메소드
  • boolean add(Object o): List의 끝에 삽입
  • void add(int index, Object o): index 위치에 요소를 추가
  • boolean addAll(Collection c): List의 끝에 컬렉션의 모든 내용 추가
  • void addFirst(Object o): List의 첫부분에 삽입
  • void addLast(Object o): List의 마지막 부분에 삽입
  • void clear(): List의 모든 객체 삭제
  • Object element(): List의 첫 요소를 제거하지 않고 읽기
  • Object removeFirst(): List의 첫 요소를 제거하며 읽기
  • Object get(int index): index 위치의 요소를 반환
  • boolean isEmpty(): List가 비어있는지 여부 반환
  • Object set(int index, Object o): List의 index 위치의 요소를 세팅
  • int size(): List의 요소 수를 반환
  • List subList(int fromIndex, int toIndex): List의 [fromIndex, toIndex)까지를 List로 반환
  • Object[] toArray(): List를 배열로 변환하여 반환
  • boolean removeAll(Collection c): 인자로 전달된 collection의 요소와 일치하는 모든 요소를 제거
  • boolean retainAll(Collection c): 인자로 전달된 collection의 요소를 모두 포함되어 있는지 여부 반환

LinkedList 초기화

LinkedList<Integer> list = new LinkedList<Integer>();

※ 모든 메소드를 적은것은 아닙니다. 추가로 필요한 메소드는 밑의 문서를 확인해주세요

https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html


부족한 부분이 있다면 언제든 조언 부탁드립니다 ㅎㅎ

반응형

'Algorithm > Basic' 카테고리의 다른 글

[C++] Vector Container 사용법 정리  (0) 2020.09.18