[TIL][Java][2023-12-01] 컬렉션 List - LinkedList
2023. 12. 1. 17:44ㆍTIL/Java
LinkedList
LinkedList는 메모리에 남는 공간을 요청해서 여기저기 나누어 실제값을 담아 놓고,
실제값이 있는 주소값으로 목록을 구성하고 저장한다.
- 특징
- 기본적인 기능은 ArrayList와 동일하지만 LinkedList는 값을 나누어 담기 때문에
모든 값을 조회하는 속도가 느리다. 대신에, 값을 중간에 추가하거나 삭제할 때에는
속도가 빠르다. - 중간에 값을 추가하는 기능이 있다.
- 기본적인 기능은 ArrayList와 동일하지만 LinkedList는 값을 나누어 담기 때문에
- 기능
- 선언 : LinkedList<Integer> linkedList 의 형태로 선언한다.
- 생성 : new LinkedList<Integer>(); 의 형태로 생성한다.
- 초기화 : 사이즈를 지정하지 않기 때문에 초기화가 필요 없다.
- 값 추가 : linkedList.add() 의 형태로 값을 추가한다.
- 값 중간에 추가 : linkedList.add(추가할 순번, 추가할 값) 의 형태로 값을 중간에 추가한다.
- 값 수정 : linkedList.set(수정할 순번, 수정할 값) 의 형태로 값을 수정한다.
- 값 삭제 : linkedList.remove(삭제할 순번) 의 형태로 값을 삭제한다.
- 전체 출력 : linkedList.toString() 의 형태로 전체 값을 대괄호에 묶어서 출력한다.
- 전체 제거 : linkedList.clear() 의 형태로 전체 값을 삭제한다.
// LinkedList
// (사용하기 위해선 import java.util.LinkedList; 를 추가해야한다.)
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<Integer> linkedList = new LinkedList<>(); // 선언 및 생성
// 값 추가
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
System.out.println(linkedList.get(0)); // 1 출력
System.out.println(linkedList.get(1)); // 2 출력
System.out.println(linkedList.get(2)); // 3 출력
System.out.println(linkedList.toString()); // [1,2,3] 출력 (속도 느림)
linkedList.add(2, 4); // 2번 순번에 4 값을 추가한다.
System.out.println(linkedList); // [1,2,4,3] 출력
linkedList.set(1, 10); // 1번순번의 값을 10으로 수정한다.
System.out.println(linkedList.get(1)); // 10 출력
linkedList.remove(1); // 1번순번의 값을 삭제한다.
System.out.println(linkedList); // [1,4,3] 출력
linkedList.clear(); // 전체 값을 삭제한다.
System.out.println(linkedList); // [] 출력
}
}
'TIL > Java' 카테고리의 다른 글
[TIL][Java][2023-12-05] 컬렉션 - Queue (2) | 2023.12.05 |
---|---|
[TIL][Java][2023-12-04] 컬렉션 List - Stack (1) | 2023.12.04 |
[TIL][Java][2023-11-30] 컬렉션 List - ArrayList (0) | 2023.12.01 |
[TIL][Java][2023-11-29] 컬렉션 (0) | 2023.11.29 |
[TIL][Java][2323-11-28] 배열 - 다차원 배열 (2) | 2023.11.28 |