일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- reshape
- 생활코딩 데이터베이스
- 생활코딩 머신러닝야학
- 이것이 자바다
- 데이터베이스
- MySQL
- JavaScript
- 야학
- Database
- 연산자
- 파이썬
- 데이터베이서
- 생활코딩
- tensorflow
- LeNet
- Java
- flatten
- 머신러닝(딥러닝)
- pandas
- 머신러닝야학
- 개발자
- CNN
- 데이터베이스 개론
- Python
- 딥러닝
- 머신러닝
- 판다스
- 카카오클라우드스쿨2기
- Today
- Total
IT's 우
자바 컬렉션 프레임워크(Collection Framework) 본문
컬렉션은 다수의 데이터
프레임워크는 표준화된 프로그래밍 방식 방식을 의미한다.
컬렉션 프레임워크란?
데이터 그룹을 저장하는 클래스들을 표준화한 설계. 컬렉션 프레임워크를 활용하면 객체 지향적이고 재사용성이 높은 코드를 작성할 수 있다.
컬렉션 프레임워크 사용 이점
- 라이브러리 사용으로 인한 시간 감소
- 검증되어 있기 때문에 코드 품질 보장
- 재사용 가능
컬렉션 프레임워크와 배열의 차이
배열 - 정적 메모리 할당 ( int [4])
collection - 공간이 필요한 만큼 추가할 수 있는 (동적 메모리)
< 컬렉션 프레임워크의 상속계층도>
컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map이 있다.
List와 Set은 공통된 부분이 많아 둘의 공통 메서드만 모아서 새로운 인터페이스인 컬렉션으로 정의한다. Map은 List와 Set과 달리 키와 값을 쌍으로 관리하는 구조라서 독립된 인터페이스이다. 따라서 위 상속계층도에 포함되지 못한다.
인터페이스 | 특징 | 구현 클래스 |
List | 순서 유지, 저장, 중복 저장 O | ArrayList, Vector, Stack, LinkedList 등 |
Set | 저장, 순서 유지 X, 중복 저장 X | HashSet, TreeSet 등 |
Map | 키와 값을 쌍으로 저장, 순서 유지 X, 키 중복 저장 X | HashMap, Hashtable, TreeMap, Properties 등 |
List
List 인터페이스는 순서를 유지(인덱스 有)해주고, 저장과 중복 저장을 허용한다. 따라서 이러한 목적에 맞는 컬렉션을 구현할 때 사용된다.
Set
Set 인터페이스는 저장 순서를 유지하지 않고, 요소의 중복을 허용하지 않는다.
- 데이터를 Hashing 하여 key를 만들어서 저장
- 중복을 허용하지 않는 데이터 집합
- 검색할 때 가장 빠른 자료구조!
- 순서 상관 X
ex) HashSet, TreeSet
Map
Map 인터페이스는 키(key)와 값(value)으로 구성된 Entry 객체를 저장하는 구조를 가지고 있다. 키와 값이라는 두 데이터를 연결하는 것이 매핑이다. 또한 해싱(hashing)을 사용하기 때문에 방대한 양의 데이터를 검색하는 데 있어서 뛰어난 성능을 보인다.
- <key, value>의 형태로 이루어진 데이터 집합
- 데이터를 저장해서 전달하는 용도로 주로 이용
- 순서 상관 X
- key는 중복이 허용되지 않고(데이터를 구별하는 key), value는 중복을 허용한다.
- key는 Set으로 만들어진다.
ex) HashMap, Hashtable, TreeMap, SortedMap)
참고
[Java] 컬렉션 프레임워크 (Collection Framework)
컬렉션 프레임워크컬렉션은 다수의 데이터, 프레임워크는 표준화된 프로그래밍 방식을 의미한다. 따라서 컬렉션 프레임워크란 데이터 그룹을 저장하는 클래스들을 표준화한 설계이다. (출처:
velog.io
https://coding-factory.tistory.com/550
[Java] 자바 컬렉션 프레임워크(List, Set, Map) 총정리
컬렉션 프레임워크란? 배열을 사용하다 보면 여러가지 비효율적인 문제가 생깁니다. 가장 큰 문제점은 크기가 고정적이라는 것입니다. 배열의 크기는 생성할 때 결정되며 그 크기를 넘어가게
coding-factory.tistory.com
https://jobjava00.github.io/language/java/basic/collections/
'CS > Java' 카테고리의 다른 글
오버로딩(Overloading) vs 오버라이딩(Overriding) (0) | 2023.07.26 |
---|---|
객체 지향 프로그래밍(OOP) 특징 (0) | 2023.07.26 |
[java] 리플렉션(Reflection) (0) | 2023.07.14 |
[java] 추상 클래스와 인터페이스 차이 (0) | 2023.07.14 |
[java] final vs finally vs finalize (0) | 2023.06.30 |