Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 플레이팅
- 개발자 코딩테스트
- 자바 암호화 복호화
- 도커
- 프로그래머스 코딩테스트
- 개발자 인턴
- docker image
- docker
- 자바 암호화
- 신입 개발자 자바 면접
- 개발자 채용연계형인턴
- 프로그래머스
- 직장인점심구독
- 신입 개발자 필수 면접 질문
- 신입 개발자 면접 질문
- 개발자 정규직
- Linux
- 신입 개발자 자바 면접 질문
- 식단
- 코딩테스트 연습
- 개발자 면접
- 개발자 면접 질문
- 자바 암호화 알고리즘
- 셰프의찾아가는구내식당
- Plating
- 자바 stream
- 샐러드
- 식단일기
- 신입 개발자 면접
- .dockerignore
Archives
- Today
- Total
달리는 두딘
[JAVA] Collection Frameworks 본문
Collections FrameWork
- 컬렉션(Collection): 자바에서 제공하는 자료구조를 담당하는 프레임워크
- 추가, 삭제, 정렬 등의 기능처리가 간단하게 해결되어 자료구조적 알고리즘을 구현할 필요가 없다.
- Java.util 패키지에 포함
- 인터페이스를 통해서 정형화된 방법으로 다양한 컬렉션 클래스를 이용할 수 있다.
- 배열의 단점
- 한번 크기를 지정하면, 변경할 수 없다. 필요에 따라 늘리거나 줄일 수 없음. 공간의 크기가 부족하면 에러가 발생하므로, 넉넉한 크기로 할당하게 됨. 메모리를 낭비하는 결과를 초래함.
- 배열에 기록된 데이터에 대한 중간위치의 추가, 삭제가 불편함.
- 맨 앞이나 중간 위치에 추가할 경우, 그 위치의 데이터부터 마지막에 기록된 데이터까지를 하나씩 뒤로 밀어내고, 추가해야 함. 삭제의 경우도 마찬가지임.
- 배열의 추가, 삭제에 대한 알고리즘이 복잡하다.
- 한 타입의 데이터만 저장한다.
- 컬렉션은 저장하는 크기의 제약이 없다. 자료를 구조적으로 처리하는 자료구조가 내장이 되어 제공이 됨
- 추가, 삭제, 정렬 등의 기능처리가 간단하게 해결됨.
- 자료구조적인 알고리즘 구현이 필요없다.
- 여러 타입을 저장할 수 있다.
- 객체만 저장함 : 필요할 경우 데이터의 저장을 위해 Wrapper 클래스를 사용함
- 컬렉션은 두 부류로 나눠짐
- Collection 인터페이스의 후손들
- List 인터페이스 계열
- Set 인터페이스 계열
- Map 인터페이스의 후손들
- Collection 인터페이스의 후손들
인터페이스
- java.util.List : 중복을 허용하고, 순서있음. 인덱스 이용 가능 java.util.ArrayList
- java.util.Set : 집합. 중복없고, 순서없음. java.util.HashSet
- java.util.Map : 키와 값의 쌍을 요소로 저장함. 키를 통해 값을 꺼낼 수 있음. java.util.HashMap
상속에 대한 계층구조
- Collection - Set - AbstractSet - HashSet : 중복제거
- Collection - Set - AbstractSet - HashSet - LinkedHashSet : 저장되는 순서유지
- Collection - Set - AbstractSet - TreeSet : 자동 오름차순정렬됨 ###list
- Collection - List - AbstractList - ArrayList : 배열처럼 사용(Thread Safe 기능없음)
- Collection - List - AbstractList - AbstractSequentialList - LinkedList : (Thread Safe 기능없음)
- Collection - List - AbstractList - Vector: 하위호환용 더이상 사용하지 말것.(Thread Safe 기능포함) ###map
- Map - AbstractMap - HashMap : (Thread Safe 기능없음)
- Map - HashTable : 구버젼(Thread Safe 기능포함)
'지식노트' 카테고리의 다른 글
[Network] PORT와 DNS (1) | 2022.04.29 |
---|---|
[Spring] RestAPI (0) | 2022.04.29 |
[Spring] #{} / ${}의 차이 (2) | 2022.04.28 |
[Spring] Controller - class method가 가질 수 있는 파라미터 (1) | 2022.04.28 |
[Spring] Logback 적용 여정기 (2) | 2022.04.28 |