Beny's Study

07. LinkedList 와 배열의 단점 본문

[JAVA]/13. 제네릭과 컬렉션

07. LinkedList 와 배열의 단점

76beny 2022. 4. 29. 00:20

목차

- LinkedList

-배열의 장단점

-LinkedList의 추가와 삭제

 


 LinkedList

■ 불연속적으로 존재하는 데이터를 서로 연결한 형태(배열의 단점 보완)■ LinkedList의 요소는 Node이며, 노드들은 자신과 연결되 ㄴ다음요소에 대한 참조(주소값)고 ㅏ데이터로 구성되어있다.

 

class Node{
	Node next;//다음요소(노드)의 주소를 저장
    Object obj;//노트에 데이터를 저장
}

 

배열의 장단점

장점

1) 자료구조로 구조가 간단

2) 접근시간(데이터를 읽어오는시간)이 가장 빠르다

 

단점

1) 크기를 변경할수없다

-새로운 배열을 생성해서 데이터를 복사해야한다-실행속도 높이기위해서 큰 크기의 배열을 생성해야 하므로 메모리가 낭비된다.

 

2) 비순차적인 데이터의 추가 또는 삭제에 시간이 많이걸린다.

-차례대로 추가삭제하는것은 빠르지만! 배열의 중간에 데이터를 추가하려면 빈자리를 만들기 위해 다른데이터들을 복사해서이동해야 한다.

 

추가

■ 새로운 요소를 생성 -> 추가하고자 하는 위치의 이전요소의 참조를 새로운 요소에 대한 참조로 변경

-> 새로운 요소가 그 다음요소를 참조하도록 변경.(처리속도 매우빠름)

■ 한번의 Node객체 생성과 두번의 참조변경만으로 가능!

 

 

삭제

■ 삭제하고자 하는 요소의 이전요소가 삭제하고자 하는 요소의 다음요소를 참조하도록 변경하기만 하면 됨

■ 하나의 참조만 변경하면 삭제가 이루어짐 ( 처리속도 매우빠름)

 

 

 

 


"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.

이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."

 

'[JAVA] > 13. 제네릭과 컬렉션' 카테고리의 다른 글

09. Stack과 Queue  (0) 2022.04.30
08. ArrayList와 LinkedList의 비교  (0) 2022.04.30
06. ArrayList  (0) 2022.04.29
05. MAP인터페이스  (0) 2022.04.28
04. Set인터페이스  (0) 2022.04.28