일지이기 때문에 일기의 성격이 더 강합니다.

제일 자신 넘치는 List :>
List
List란 노드(Node)가 데이터와 다음 노드 참조를 포함하는 비연속 메모리 구조로, 동적 크기가 장점이다. 순차적 접근이 필요하지만, 중간 삽입 및 삭제가 용이하다. 이 부분은 Array(배열)의 단점인 고정 크기 · 중간 삽입 어려움의 단점을 상쇄해준다. 대신 조회는 느리고 메모리 차지도 좀 더 큰 편이기 때문에, 배열을 사용할 수 있다면 사용하는 게 좋다.
우리가 배운 건 LinkedList와 ArrayList 두 가지로, 각 선호 차이는 있지만 나는 ArrayList를 선호하는 편이다.
LinkedList
ArrayList와 LinkedList의 차이는 크게 없지만, 아마 중간 삽입/삭제가 잦다면 LinkedList를 더 선호하게 된다. 여기에서는 단일/이중/원형 연결 리스트에 대해서 알려주셨다.
단일 연결
당연히 일직선으로 연결된, 한 방향으로 연결된 리스트이다. 조회속도가 O(n) 정도로, 값이 나올때까지 순회해야한다.
이중 연결
양방향으로 연결된 리스트이다. 포인터 수가 단일연결보다 많고(당연히 1개에서 2개로 늘어난다), 역방향으로 탐색이 가능하며, 삭제도 단일 연결보다 빠르다. 다만 구현 난이도 및 메모리에서 단일보다는 까다로움이 있다.
원형 연결
무한적으로 순회하듯 연결되는, 지난 시간에 배운 원형 큐와 비슷한 느낌의 리스트이다. 마지막 노드가 곧 처음이 된다. 회전 큐 같은 곳에서도 사용한다.
LinkedList의 경우 스택/큐 등에서 유연하게 구현할 수 있다.
ArrayList
ArrayList는 내부적으로 Object[] 배열을 사용하여 데이터를 관리한다. 중복값을 허용하고, 사용하는 것은 java 내부 변수가 아니라 참조 변수이다. 용량은 가변적이기 때문에, 가득 찼다고 판단하면 용량을 늘린다. 그리고 표준 라이브러리와 일치한다.
여러모로 일반적으로는 ArrayList가 좀 더 선호되는 경향이 있다.
'부트캠프 일지 > Java 풀스택 과정 강의' 카테고리의 다른 글
| [Java 풀스택 과정 강의] 3월 11일 (0) | 2026.03.14 |
|---|---|
| [Java 풀스택 과정 강의] 3월 10일 (0) | 2026.03.14 |
| [Java 풀스택 과정 강의] 3월 6일 (0) | 2026.03.09 |
| [Java 풀스택 과정 강의] 3월 5일 (0) | 2026.03.05 |
| [Java 풀스택 과정 강의] 3월 4일 (0) | 2026.03.04 |