[JAVA] LinkedList

kathy·2023년 7월 6일
0

JAVA

목록 보기
3/3
post-thumbnail

LinkedList

LinkedList 클래스는 Java Collection Framework의 일부이며, 연결리스트(Linked List)를 구현한 클래스
👉🏻 연결리스트 설명
LinkedList는 Queue의 특성과 요구사항을 잘 반영하여 구현할 수 있는 자료구조

java.lang.Object
	java.util.AbstractCollection<E>
		java.util.AbstractList<E>
			java.util.AbstractSequentialList<E>
				java.util.LinkedList<E>
import java.util.LinkedList;

public class Main {
    public static void main(String[] args) {
        LinkedList<Integer> linkedList = new LinkedList<>();
    }
}

Constructor

ConstructorDescription
LinkedList()타입을 설정하지 않고 empty list로 구성
LinkedList(Collection<? extends E> c)class, Integer, String, Character, 등의 타임으로 선언
import java.util.LinkedList;

public class Main {
    public static void main(String[] args) {
        LinkedList linkedList = new LinkedList();
        LinkedList<Node> linkedList1 = new LinkedList<>();
        LinkedList<Integer> linkedList2 = new LinkedList<>();
        LinkedList<String> linkedList3 = new LinkedList<>();
        LinkedList<Character> linkedList4 = new LinkedList<>();
    }
}

Method

삽입

TypeMethodDescription
booleanadd(E e)리스트의 끝에 삽입
voidadd(int index, E element)특정 index에 삽입
voidaddFirst(E e)리스트의 맨 앞에 삽입
voidaddLast(E e)리스트의 맨 끝에 삽입
Objectclone()깊은 복사
booleanoffer(E e)리스트의 끝에 삽입
booleanofferFirst(E e)리스트의 맨 앞에 삽입
booleanofferLast(E e)리스트의 맨 끝에 삽입
Eset(int index, E element)해당 index의 값을 element로 대체

순회

TypeMethodDescription
booleancontains(Object o)해당 요소가 존재하는지 확인
Eelement()리스트의 맨 처음 값(삭제X)
Eget(int index)특정 index의 요소
EgetFirst()리스트의 맨 처음 값(삭제X)
EgetLast()리스트의 맨 끝 값(삭제X)
Epeek()리스트의 맨 처음 값(삭제X)
EpeekFirst()리스트의 맨 처음 값(삭제X)
EpeekLast()리스트의 맨 끝 값(삭제X)
intindexOf(Object o)해당 요소의 index값(해당 요소가 없으면 -1)
intlastIndexOf(Object o)해당 요소가 마지막으로 나온 index 값(해당 요소가 없으면 -1)
intsize()리스트의 크기

삭제

TypeMethodDescription
voidclear()리스트의 모든 요소 삭제
Epoll()리스트의 맨 처음 값(삭제O, 빈리스트 null)
EpollFirst()리스트의 맨 처음 값(삭제O, 빈리스트 null)
EpollLast()리스트의 맨 끝 값(삭제O, 빈리스트 null)
Eremove()리스트의 맨 처음 값 삭제
Eremove(int index)해당 index 값 삭제
booleanremove(Object o)해당 object 값 삭제

생각해볼 점

중간에 있는 요소에 접근할 때는 순차적으로 탐색해야 하므로 성능이 떨어질 수 있다.
따라서 요소의 검색이 자주 발생하는 경우에는 ArrayList나 HashSet 등의 다른 자료구조를 고려해야한다.

출처 : LinkedList (Java Platform SE 8 )

profile
Here is future Backend Developer's Velog

0개의 댓글