ArrayList
읽기(접근 시간) 빠르다.
추가/삭제 느리다.
순차적인 추가/삭제는 빠르다.
비효율적인 메모리 사용
LinkedList
읽기(접근시간) 느리다.
중간 데이터 추가/삭제 빠르다.
단방향이라 데이터가 많을수록 접근성이 떨어진다.
doubly linked list
linked list는 단방향이기 때문에 다음 요소에 대한 접근은 쉽지만 이전 요소에 대한 접근은 어려운 점을 보완한 것.
이전 요소에 대한 참조가 가능하게 함
doubly circular linked list
첫번째 요소와 마지막 요소를 연결시켜 접근성을 보다 향상시킨 것
Stack과 Queue
Stack
넣은 순서와 꺼낸 순서가 뒤집어진다.
구현 : ArrayList와 같은 배열기반의 컬렉션 클래스
활용 : 수식계산, 수식괄호검사, 워드프로세서의 undo/redo, 웹브라우저 뒤로/앞으로
Queue
순서 변경 없이 꺼내진다.
구현 : 데이터의 추가/삭제가 쉬운 LinkedList
활용 : 최근사용문서, 인쇄작업 대기목록, 버퍼
'JAVA' 카테고리의 다른 글
[Java] Set (0) | 2023.07.06 |
---|---|
[Java] 컬렉션 프레임웍(Collections Framework) (0) | 2023.07.06 |
[Java] 인터페이스(interface) (0) | 2023.07.06 |
[Java] 추상클래스(abstract class) (0) | 2023.07.05 |
[Java] 다형성(polymorphism) (0) | 2023.07.05 |