데이터와 포인터를 가지고 하나로 연결되어 있는 방식의 자료구조![]()
데이터의 삽입과 삭제가 빈번하게 발생하며 임의 접근이 필요하지 않은 상황에서
LinkedList사용
import java.util.LinkedList;
List<Integer> list = new LinkedList<>();
List<Integer> list = new LinkedList<>();
list.addFisrt(1); // 맨 앞에 1을 추가
list.addLast(2); // 맨 뒤에 2을 추가
list.add(3); // 맨 뒤에 3을 저장하고 성공하면 true를 반환
list.add(1, 10); // 1번째 인덱스에 10을 추가
list.addAll(Collection c); // 주어진 컬렉션의 모든 객체를 마지막에 저장
list.set(1, 100); // 1번째 인덱스에 있는 데이터를 100으로 변경
List<Integer> list = new LinkedList<>();
list.removeFisrt(); // 첫 번째 노드를 제거
list.removeLast(); // 마지막 노드를 제거
list.remove(int index); // index 위치에 있는 객체를 제거
list.remove(Object obj); // 지정된 객체를 제거
list.clear(); // list에 저장되어 있는 값 전체 삭제
List<Integer> list = new LinkedList<>();
// for문 사용
for(int i = 0; i < list.size(); ++i) {
System.out.println(list.get(i));
}
// for each문 사용
for(int element: list) {
System.out.println(element);
}
// iterator 사용
Iterator it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
List<Integer> list = new LinkedList<>();
list.size(); // 저장된 객체의 갯수 반환
list.isEmpty(); // list가 비어있다면 true, 그렇지 않다면 false를 반환
list.contains(Object obj); // 지정된 객체가 LinkedList에 포함되어 있다면 true, 아니면 false를 반환
list.indexOf(Object obj); // 지정된 객체가 저장된 위치를 찾아 반환
list.lastIndexOf(Object obj); // 지정된 객체가 저장된 위치를 뒤에서 부터 찾아 반환
LinkedList는
list 용도로서 뿐만 아니라,Stack이나Queue로써도 사용이 가능
https://crazykim2.tistory.com/566
https://inpa.tistory.com/entry/JAVA-%E2%98%95-LinkedList-%EA%B5%AC%EC%A1%B0-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%99%84%EB%B2%BD-%EC%A0%95%EB%B3%B5%ED%95%98%EA%B8%B0