-
Array vs List 차이점, LinkedList, ArrayListCS/자료구조 2023. 4. 25. 22:38
Array(배열) List(리스트) 인덱스가 있는 자료형
객체 생성 시 크기 할당 필수크기를 할당할 필요가 없음 순차적으로 자료 저장
👉자주 삭제되거나 추가되는 데이터는 적절하지 않음앞의 요소가 삭제되면 새로 추가되는 요소가 그 공간에 저장될 수 있음 삽입, 삭제가 느림 (shift 해주는 비용이 생기기 때문)
👉 이 문제를 해결하기 위한 자료구조가 LinkedList삽입, 삭제가 빠르지만 데이터 조회가 느림 LinkedList
- 각각의 원소들은 자기 자신 다음에 어떤 원소인지만을 기억하고 있어 이 부분만 다른 값으로 바꿔주면 삽입과 삭제를 해결할 수 있음.
- 원하는 위치에 한 번에 접근할 수 없음
- 삽입, 삭제 빠름, 조회 느림ArrayList
- 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나 (List는 인터페이스, ArrayList는 클래스)
- 일반 배열과 동일하게 연속된 메모리 공간을 사용하며, 인덱스는 0부터 시작
- 배열과의 차이점은 배열은 크기가 고정인 반면 ArrayList는 크기가 가변적으로 변함
- 내부적으로 저장이 가능한 메모리 용량이 있으며 이를 초과하면 더 큰 공간의 메모리를 새롭게 할당
- Generic 을 사용하지 않고 선언한다면 다양한 타입의 객체를 저장 가능
'CS > 자료구조' 카테고리의 다른 글
HashMap vs LinkedHashMap 차이점 및 사용 (0) 2023.04.25 Collection - List, Set, Map (0) 2023.03.07