Data Structure (2) 썸네일형 리스트형 [Java] 자료구조에 대해 아는대로 정리하기 array와 LinkedList, ArrayList의 초기 사이즈 지정 array는 배열 선언 시 크기를 지정해야 한다 LinkedList나 ArrayList는 동적으로 크기를 관리한다. ( Set, Map의 구현체들도 마찬가지) 자바 컬렉션 프레임워크의 설계 원칙 중 하나인 "크기 조절 가능한 컨테이너" 원칙을 따른다. 따라서 초기에 크기를 명시적으로 지정할 필요가 없다. LinkedList와 ArrayList, Vector까지 우선 셋 다 List인터페이스를 구현한 구현체이다. ArrayList 초기에 일정한 크기 (보통 10)을 가지고 시작 데이터의 삽입 / 삭제가 빈번한 상황에서 성능이 좋다 데이터 접근 시 인덱스를 이용하여 빠른 속도 중간에 삽입 / 삭제 시 새 배열에 저장하기 때문에 데이터 이.. [JAVA] Array vs ArrayList vs LinkedList Array 메모리 공간에 할당 사이즈를 미리 정해놓는다. → 중간 데이터 삽입/삭제 시 비효율적 index가 존재하기 때문에 위치를 바로 알 수 있어 검색이 편함 ⬇ 보완 하기 위해 나옴 ArrayList 크기를 정해주지 않아도 된다. array에서 index가 중요했다면 ArrayList에서는 순서가 중요 index도 가지고 있어 검색이 빠름 중간 데이터를 추가/ 삭제 시 비효율적 (줄줄이 당겨지거나 밀려남) LinkedList 노드로 이어져 있어 연결될 노드의 포인터 위치를 가리키는 방식 단일 노드 : 뒤에 노드만 가리킴 다중 노드 : 앞 뒤 모두 가리킴 중간 삽입/삭제가 빠르다 but, List의 n번째 값을 찾아라 에서는 비효율적 왜? array나 ArrayList는 index를 가지고 있어 검색.. 이전 1 다음