: 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화시킨 자료 구조이다. (크기가 동적인 자료구조)
(삽입과 삭제가 O(1)이 걸리며 탐색에는 O(n)이 걸립니다.
싱글 연결 리스트
: next 포인터만 가진다.
이중 연결 리스트
: next 포인터와 prev 포인터를 가진다.
원형 이중 연결 리스트
: 이중 연결 리스트와 같지만 마지막 노드의 next 포인터가 헤드 노드를 가르킨다.
: 동적으로 요소를 할당할 수 있는 동적 배열
: 먼저, Vector와 ArrayList는 동일한 내부 구조를 가지고 있다.
public class Vector<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable {
}
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable {
}
위와 같이 같은 Class나 Interface를 상속받는 것을 볼 수 있다.
: Vector는 JDK1.0 부터 사용해 오던 Class 이다. 그래서 Vector를 상속 받는 Class들이 많아 호환성을 위해 아직 존재하고 있다.