배열의 장단점
크기를 변경할 수 없음
비순차적인(데이터의 추가, 삭제)에 시간이 많이 걸림
크기 변경 안 되는 것과 추가 삭제 시간이 느리다는 단점을 보안하는 LinkedList
데이터의 삭제 : 단 한 번의 참조변경만으로 가능
개별적인 노드(요소)들이 연속적으로 존재하므로 다음 노드가 무엇인지에 찾아갈 수 있는 참조변수를 갖고 있음
데이터의 추가 : 한 번의 node 객체 생성과 두 번의 참조 변경만으로 가능
링크드 리스트 : 연결리스트, 데이터 접근성이 나쁨
더블리 링크드 리스트(doubly linked list) : 이중 연결 리스트 > 다음 노드와 이전 노드가 무엇인지 찾아갈 수 있는 참조변들을 갖고 있어서 링크드 리스트보다 접근성 향상
더블리 써클러 링크드 리스트(doubly circular linked list) : 이중 원형 연결 리스트 > 더블리링크드리스트 + 마지막 요소를 맨 처음 요소와 연결하고 맨 처음 요소를 마지막 요소와 연결함
인덱스가 n인 데이터 주소 = 배열의 주소 + n *데이터타입의 크기
컬렉션 | 읽기(접근시간) | 추가/삭제 | 비고 |
---|---|---|---|
ArrayList | 빠르다 | 느리다 | 순차적인 추가 삭제는 더 빠름 비효율적인 메모리 사용 |
LinkedList | 느리다 | 빠르다 | 데이터가 많을수록 접근성이 떨어짐 |
☃참고❄
자바의정석-LinkedList