posted by changhozz 2012. 7. 17. 22:00

LinkedList와 떨어질수없는 관계 배열.

우선 배열이라 하면 , 가장 기본적인 형태의 자료구조 구조가 간단하며 사용하기 쉽고 데이터를 읽어 오는데 걸리는 시간(접근시간)이 가장 빠르다는 장점을 가지고 있지만 다음과 같은 단점도 가지고 있다.

1.크기를 변경할 수 없다
-크기를 변경할 수 없기 때문에 새로운 배열을 생성해서 데이터를 복사하는 작업이 필요하다.
-실행속도를 향상시키기 위해서는 충분히 큰 크기의 배열을 생성해야하므로 메모리가 낭비된다.

2.비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다.
-차례대로 데이터를 추가하고 마지막에서부터 데이터를 삭제하는 것은 빠르지만,
-배열의 중간에 데이터를 추가하려면, 빈자리를 만들기 위해 다른 데이터들을 복사해서 이동해야한다.

이처럼 배열은 모든 데이터가 연속적으로 존재하지만 LinkedList는 불연속적으로 존재하는 데이터를 서로 연결한 형태로 구성되어 있기 때문에 데이터를 추가하거나나 삭제하기 용이하다.
그러나 각 요소들이 불연속적으로 연결되어 있기때문에 처음부터 찾고자하는 데이터까지 차례대로 따라가야만 원하는 값을 얻을 수 있다. 

 

배열은 배열 전체가 한개의 주소를 갖는반면 ,
LinkedList는 각 요소마다 주소값이 있어, 요소(node)가 그 다음 요소의 주소값을 가르켜 꼬리를 무는 형태이다.

'JAVA > 팀장님 JAVA수업' 카테고리의 다른 글

Collection 보충설명 HashSet  (0) 2012.07.18
Collection 보충설명중 Iterator  (0) 2012.07.18
Collection 보충설명중 (Vector와 ArrayList)  (0) 2012.07.17
팀장님 수업 10  (0) 2012.07.13
스트림정리  (0) 2012.07.10