티스토리 뷰
StudyingRecords/Java
[Java의 정석] Chapter 11-2. 컬렉션 프레임웍(Collections Framework) - ArrayList, LinkedList
HoSeongYu 2022. 2. 11. 15:11ArrayList
- 특징
기본 Vector개선 한것, 배열기반으로 데이터 저장, 순서와 중복 O, 객체만 저장가능 - 메서드
- 추가
add -> autoboxing에 의해 자동으로 참조형 형변환
addAll - 삭제
remove
removeAll
clear : 모든 객체 삭제 - 검색
indexOf
lastIndexOf
contains : 해당(or 모든) 요소가 포함하는지 확인
get - 변경
set - 그 외
subList : 일부의 새로운 list 생성
toArray : ArrayList의 객체배열을 반환
isEmpty : 비어있는지 확인
trimToSize : 빈공간 제거
size : 저장된 객체의 갯수
- 추가
LinkedList
배열의 장단점
장점 : 구조가 간단, 데이터 읽는데 걸리는 시간이 짧음, 순차적 데이터 추가,삭제는 빠름
단점 : 크기변경 못함(변경시, 새 배열 생성 후 복사), 비순차적인 데이터 추가 삭제에 시간이 많이 걸림
- LinkedList 특징(배열의 단점을 보완) : 연결리스트(다음데이터만 연결)
불연속적으로 존재하는 데이터를 연결
데이터 삭제 : 단한번의 참조변경만으로 가능
데이터 추가 : 한번의 Node객체 생성, 두번의 참조변경으로 가능
단점 : 데이터 접근성이 좋지 않음 - doubly linked list 특징 : 이중(이전,다음) 연결리스트, 접근성 향상
- doubly circular linked list 특징 : 이중(이전,다음) 원형(맨앞,맨뒤) 연결리스트
ArrayList : 읽기가 빠르다.
LinkedList : 추가/삭제가 빠르다.