반응형
메모리를 사용하는 양이 다르다는 말고는 아무것도 몰랐기 때문에, 문득 List와 ArrayList의 차이점이 궁금해졌다.
List는 Array 비슷하며 Java의 자료형으로 Array보다 편리한 기능을 가진다
우선 리스트/배열의 차이를 짧게 알아보자
리스트와 배열의 제일 큰 차이는 인덱스의 유무이다.
배열에서는 인덱스를 통해 빠른 조회가 가능하나, 데이터가 삭제되어도 인덱스 유지를 위해 메모리를 유지해야하는 단점이 존재한다.이 때문에 적절한 배열 선언이 되지 않으면 메모리 낭비를 초래하게 된다.
리스트는 메모리 낭비를 줄이기 위해 인덱스를 포기하고 노드를 연결해 데이터를 적재하는 형태의 선형 자료구조이다.
이와 같이 리스트는 머리와 꼬리로 이뤄져있어 각 노드의 꼬리에는 다음 노드의 주소 정보가 있어 데이터가 불연속적이어도 원하는 정보에 접근이 가능하다. 때문에 크기가 고정되어있지 않아도 새로 추가된 값의 주소를 연결해 찾을 수 있다.
다음에서 list와 arraylist에 대해 다루겠다.
참고자료
https://wayhome25.github.io/cs/2017/04/17/cs-18-1/.
반응형
'Language & Framework & GIT > JAVA' 카테고리의 다른 글
[JAVA] Call by reference & value (1) | 2022.12.27 |
---|---|
[JAVA] List ? ArrayList? #2 (0) | 2022.12.20 |
[언어공부] 코테를 위한 JAVA 뽀개기 #4 #끝 (1) | 2022.10.29 |
[언어공부] 코테를 위한 JAVA 뽀개기 #3 (0) | 2022.10.28 |
[JAVA] this / super (0) | 2022.10.22 |
댓글