linkedlist
-
컬렉션 List - Stack & Queue백엔드/자바 2020. 8. 16. 05:38
자료구조 중에서 스택(Stack)과 큐(Queue)라는 것이 있다. 흔히 스택은 브라우저의 앞으로 가기, 뒤로 가기 같은 기능을 구현하는데 사용할 수 있는 자료구조다. 큐는 최근 사용 문서, 인쇄작업 대기 목록 등을 구현하는데 사용할 수 있는 자료구조다. Stack(스택) 스택(Stack)은 마지막에 저장한 데이터를 가장 먼저 꺼내는 선입후출 (LIFO, Last In First Out) 자료구조다. 위에서 이야기했듯이 흔히 브라우저의 앞으로 가기, 뒤로 가기 기능 등을 구현하는데 사용되는 구조다. 그렇다면 Stack을 List로 구현하려면 ArrayList와 LinkedList 중 어떤 것이 더 적합할까? 바로 ArrayList다. 컬렉션 List - ArrayList ArrayList의 정의와 장점 ..
-
컬렉션 List - LinkedList백엔드/자바 2020. 8. 16. 03:57
연결리스트(LinkedList)의 등장 배경 기존의 ArrayList의 경우 이전 글에서 언급했듯이 단점이 존재한다. 우선 배열이 확장될 때마다 새로운 배열을 생성해서 복사하는 과정을 지속한다. 그렇다보니 실행 속도에서 손해를 본다. 만약 배열 크기를 미리 크게 잡으면 메모리 낭비가 생긴다. 또한 배열의 중간 데이터를 추가, 삭제할 경우 데이터 이동이 일어나 실행 시간이 오래 걸린다. ArrayList는 배열을 기반으로 하다보니 ArrayList 또한 배열의 단점을 그대로 가져간다. 이러한 ArrayList의 단점을 보완하는것이 연결리스트(LinkedList)다. 연결리스트(LinkedList)란? 연결리스트란 불연속적으로 존재하는 데이터를 서로 연결(link)한 형태로 구성된 리스트를 말한다. 이렇게 ..