728x90
반응형
List 인터페이스 : 순서가 있는 데이터들의 집합으로 데이터의 중복을 허용합니다.
(Vector, ArrayList, LinkedList, Stack, Queue(Stack의 반대))
Stack(스택)
스택의 구조는 선형 메모리 공간에 데이터를 저장하면서 후입선출(LIFO)의 시멘틱을 따르는 자료구조입니다.
예시 1)
예시 2)
LinkedList
LinkedList는 데이터를 저장하는 각 노드가 이전 노드와 다음 노드의 상태만 알고 있는 저장 형태입니다.
ArrayList와 같이 데이터의 추가, 삭제 시 불필요한 데이터의 복사가 없어 데이터의 추가, 삭제 시에 유리한 반면 데이터의 검색 시에는 처음부터 노드를 순회해야 하기 때문에 성능상 불리합니다.
- 단일 연결 리스트 : 요소의 저장과 삭제 작업이 다음 요소를 가리키는 참조만 변경되므로 아주 빠르게 처리할 수 있습니다.
하지만, 단일 연결 리스트는 현재 요소에서 이전 요소로 접근하기가 매우 어렵습니다.
[next] [next] [next] [next]
데이터 데이터 데이터 데이터
- 이중 연결 리스트 : 현재 요소에서 다음 요소, 이 전요 소를 가지고 있습니다. 따라서
단일 연결 리스트보다 이전 요소로 접근하기가 쉽습니다.
[next] [next] [next] [next] ->정방향
데이터 데이터 데이터 데이터
[pre] [pre] [pre] [pre] <-역방향
예시 )
728x90
반응형
'🎨 Programming > JAVA' 카테고리의 다른 글
[JAVA] 25. 예외(Exception) - 1 (0) | 2021.03.18 |
---|---|
[JAVA] 24. Set/Map 컬렉션 클래스 - HashSet / HashMap (0) | 2021.03.18 |
[JAVA] 22. List 컬렉션 클래스 - ArrayList (0) | 2021.03.18 |
[JAVA] 21. 컬렉션 프레임워크(Collection Framework) - Vector (0) | 2021.03.18 |
[JAVA] 20. Object 클래스 / 제네릭(generic) (0) | 2020.06.29 |