컬렉션 프레임웍: 데이터 군을 저장하는 클래스들을 표준화한 설계
Collection 인터페이스
Map.Entry인터페이스
배열의 단점
링크드 리스트
더블링크드 리스트
: 다음 요소에 대한 참조뿐 아니라 이전 요소에 대한 참조가 가능하도록 개선
더블 써큘러 링크드 리스트(이중 원형 연결리스트)
: 더블 링크드 리스트에서 첫 번째 요소와 마지막 요소를 서로 연결시킨 것
순차적으로 추가/삭제하는 경우에는 ArrayList가 LinkedList보다 빠르다.
중간 데이터를 추가/삭제하는 경우에는 LinkedList가 ArrayList보다 빠르다.
=> 다루고자 하는 데이터의 개수가 변하지 않는 경우라면 ArrayList가 최상의 선택이지만 데이터 개수의 변경이 잦다면 LinkedList를 사용하는 것이 더 나은 선택이 될 것임
컬렉션 | 읽기(접근시간) | 추가/삭제 | 비고 |
---|---|---|---|
ArrayList | 빠르다 | 느리다 | 순차적인 추가삭제는 더 빠름 / 비효율적인 메모리 사용 |
LinkedList | 느리다 | 빠르다 | 데이터가 많을수록 접근성이 떨어짐 |
java의 정석 chapter11