티스토리 뷰
* 들어가며
주구장창 ArrayList 를 쓰다가, LinkedList의 차이점이나 리스트의 심화 기능을 간단하게 요약해봄
* ArrayList와 LinkedList의 차이점.- 성능차이
- 이름에 쓰여진대로 같은 List 기능이라도 내부적으로
ArrayList는 배열을 생성하여 자료를 저장
LinkedList는 각 Node를 생성하여 저장
- ArrayList는 배열을 쓰므로 삽입, 삭제시에 내부에 빈공간이 생기면서 성능저하가 일어날 수 있지만,
- ArrayList 는 get() 사용시 기본적으로 빠름.
(링크드리스트는 노드를 계속 쫓아가야 하지만, 배열은 주소만 계산하면 되니까.)
- 실험 내용
http://dogcowking.tistory.com/37
- 참고] LinkedLIst, ArrayList 구조 상세설명
http://stunstun.tistory.com/193
* ArrayList와 LinkedList의 차이점 - 기능
- LinkedList는 노드간 연결된 구조..
- LinkedList는 큐, 데크 사용시 가능...
- ArrayList 는 불가능
- 테스트 코드
List<Integer> lst = new ArrayList<Integer>();
List<Integer> lst2 = new LinkedList<Integer>();
Queue<Integer> q;
// 아래 코드는 아예 안됨.
// q = (Queue<Integer>) lst;
// q.add(1);
// 큐 선언시는 링크드 리스트 사용
q = (Queue<Integer>) lst2;
q.add(1);
'SW개발' 카테고리의 다른 글
톰캣 org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 (0) | 2017.02.12 |
---|---|
Gradle 프로젝트, Eclipse 로 가져오기 (2) | 2017.02.10 |
Gradle 설치 (0) | 2017.02.10 |
Json parser - Jackson parser 사용 (0) | 2017.02.08 |
java기초] ArrayList, LinkedList 성능 비교 (0) | 2017.02.07 |