List, Queue, Tree 등 다양한 자료구조들이 있습니다.
이 중 면접 질문에 자주 나온다는 List, Set, Map에 대해 특징과 각각의 비교를 하겠습니다.
배열
이러한 단점들을 극복하고자 다양한 자료구조가 나오게 되었다.
"리스트는 순서와 중복이 있는 자료구조"
특징
주요 기능
처음, 끝, 중간에 엘리먼트를 추가/삭제하는 기능
즉, 엘리먼트들이 리스트에 저장되어있을 때
우리가 새로운 데이터를 처음, 중간, 끝에 추가/삭제를 할 수 있으며,
그 과정에서 빈 공간이 생겼을 때에 하나씩 밀리면서 채운다.
리스트에 데이터가 있는지를 체크하는 기능
리스트의 모든 데이터에 접근할 수 있는 기능
장점
단점
원하는 데이터가 뒤쪽에 위치하는 경우, 속도의 문제가 있을 수 있다.
이유 : 순회를 하기 때문에
"키와 데이터를 같이 저장할 수 있는 자료구조"
특징
장점
"순서없고 중복이 존재할 수 없는 자료구조"
특징
장점
Iterator는 자바 기준으로 hasNext(), next(), remove()함수를 사용하여 어떤 컬렉션이라도 동일한 방식으로 접근하여 그 항목들에 접근할 수 있는 방법을 제공하는 것 (자바의 특징 - 다형성)
요약
수정해야할 부분이 있거나 보완해야하는 사항이 있다면 언제든지 말씀해주세요!
https://velog.io/@y1andyu/Data-Structure-1-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EB%9E%80
https://milkoon1.tistory.com/44
https://www.youtube.com/watch?v=SLAl5MPAass