ArrayList
1. 데이터가 연속적이고 데이터를 읽는 데 걸리는 시간(접근 시간)이 짧다.
2. 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다.
그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다.
LinkedList
1. 배열과 달리 링크드 리스트는 불연속적으로 존재하는 데이터를 연결(link)
2. 요소 하나하나가 연결돼 있고 요소를 노드라고 부르고 노드에는 데이터와 다음 노드의 참조변수가 있다
3. 데이터의 삭제 : 단 한 번의 참조변경만으로 가능
4. 데이터의 추가 : 한 번의 Node 객체생성과 두 번의 참조변경만으로 가능
->변경에 유리함
+ 참고
링크드 리스트 - 연결리스트. 데이터 접근성이 나쁨
불연속적이라 한 번에 이동 불가(노드가 바로 다음 노드만 알고 있음) - 접근 시간이 느림
더블 링크드 리스트(doubly linked list) - 이중 연결리스트, 접근성 향상
연결(참조)이 두 개 이임, 다음 요소, 이전 요소
더블리 써큘러 링크드 리스트(doubly circular linked list) - 이중 원형 연결리스트
양 끝의 주소를 이전 참조값에 저장함
ArrayList vs LinkedList - 성능 비교
1. 순차적으로 데이터를 추가/삭제 - ArrayList 가 빠름
2. 비순차적으로 데이터를 추가/삭제 - LinkedList 가 빠름
3. 접근시간(access time) - ArrayList 가 빠름