일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 운영체제
- 파이썬 소스
- c#
- jsp
- 문법 정리
- 리눅스
- 파이썬
- hyperledger
- MongoDB
- 프로젝트
- spring
- 학점
- auto configure
- resilience4j
- 유사코드
- gradle
- K6
- 알고리즘
- 자바 프로젝트
- 자바
- 티스토리
- oracle
- smart cast
- 초대장
- 백준 알고리즘
- JVM
- 오라클
- SQL
- 오라클 디비
- dynamic query
Archives
- Today
- Total
모종닷컴
자바8 - List 본문
반응형
인터페이스 |
설명 |
List |
순서가 있음, 중복 허용 |
Set |
순서가 없음, 중복 허용하지 않음 |
Map<K,V> |
순서가 없음, Key의 중복을 허용하지 않음. |
이 프레임워크중에서 List의 구현체들을 알아보자.
1) ArrayList
- 내부적으로 배열을 사용하여 요소들을 관리합니다.
- 배열을 사용함으로 검색 속도가 좋다.
- 값이 추가 혹은 삭제될 때 내부적으로 배열을 새로 만들어놓고 옮긴다.
- 추가 및 삭제에 대하여 시간이 오래걸림. (ex. 총 5개의 요소 중 3번째 요소를 삭제하면 뒤에 부분을 다시 앞으로 옮기고 옮기고..)
2) LinkedList
- 요소들끼리 링크를 통해 연결됨으로 삽입 삭제가 용이.(= 이중 연결리스트)
- 검색에는 불리하다. ( 앞, 뒤로 계속 링크를 타고 가야함으로..)
3) Vector
- ArrayList와 자주 비교되는데, 차이점은 동기화 여부에 있다.
- 싱글 스레드 환경에서는 ArrayList가 성능이 좋지만, 다중 스레드 환경에서는 ArrayList는 동기화를 보장하지 못하기 때문에, Vector를 사용하면 될 것 같지만... Vector 보다 성능이 우월하면서 동기화를 보장해주는 다른 방법들이 있기에 잘 사용하지 않는다
ADD : capacity에 대해서 안썻구나.
capacity ->배열을 늘릴 때 얼만큼씩 늘릴 건지
ex) List가 공간이 부족하여 확보할 때 capacity만큼 확보한다.
반응형
'Programming > JAVA' 카테고리의 다른 글
자바 8 - Map (0) | 2018.10.19 |
---|---|
캡슐화, 추상화, 인터페이스 (0) | 2018.10.10 |
자바8 - 제네릭 (2) | 2018.09.03 |
ArtifactTransferException: Failure to transfer ... (4) | 2018.08.27 |
자바 8 - 람다식 (0) | 2018.08.19 |