일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SI
- PIP모드
- HWP
- https
- 슈샤이어 떠돌이상인
- 애니츠 떠돌이상인
- 이름바꾸기
- 가로세로세팅
- 특정페이지가로로
- SE
- zoom
- 3
- 루테란 떠돌이상인
- 한글
- 아르데타인 떠돌이상인
- IT용어
- 파푸니카 떠돌이상인
- 작은화면
- 홈페이지제작견적
- 베른 떠돌이상인
- 유튜브
- SSL
- sm
- 욘 떠돌이상인
- 토토이크 떠돌이상인
- 로헨델 떠돌이상인
- 페이튼 떠돌이상인
- Today
- Total
도담도담
Collection이란? 본문
Collection
Collection → 자료(데이터) 수집API → framework
List 계열 → 순서(index)존재: ArrayList → DB연동
Map 계열 → 순서가 없고, ("키" , 값) / 중복 키가 없다.: HashMap → 환경설정
Set 계열 → 순서가 없고, 값만 존재/ 중복 값이 없다: HashSet → 중복값 제거시
자바는 자료구조를 제공한다.
자료구조는 배열과 같이 데이터를 담아 놓고 필요할 때 꺼내어 사용하기 위해서 존재하며, 다음과 같이 분류할 수 있다
- 순서가 있는 목록형 (List)
- 순서가 중요하지 않은 세트형 (Set)
- 먼저 들어온 것이 먼저 나가는 큐형 (Queue)
- 키 값(key-value)으로 저장되는 맵형 (Map)
- 자바에서 제공하는 컬렉션의 계열 3가지 (java.util.Collection)
- List, Set, queue 타입 구현의 모태가 되는 인터페이스
- Iterable 인터페이스가 확장되어 있다.
- 데이터 담기용 메서드 = add(), addAll()
- 데이터 확인용 메서드 = contains(), containsAll(). isEmpty(), equals(), size()
- 데이터 삭제용 메서드 = clear(), remove(), removeAll()
List 인터페이스
List 인터페이스는 목록을 저장할 때 사용한다.
크기가 변하는 배열이라고 생각하면 이해가 쉬울 것이다.
- 각 데이터에 대한 위치가 있다.
- 위치에 있는 데이터를 꺼내거나 지우고, 원하는 위치에 데이터를 저장하는 작업을 할 수 있다.
- 특정 데이터의 중복을 허용한다.
- 순서대로 들어오는 데이터를 담아둘 때 용이하다.
- Collection 인터페이스를 확장하였다.
- List 인터페이스를 구현한 클래스로는
- AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, ToleUnresolvedList, Stack, Vector가 있으며,
- 이중에서 ArrayList, LinkedList 가 많이 사용된다.
Set 인터페이스
Set은 List와 비슷하다. 하지만, 데이터의 순서가 중요하지 않다.
- 데이터를 목록 형태로 담아둔다.
- 데이터의 위치는 정해져 있지 않으며, 중복된 데이터가 포함 될 수 없다.
- 중복되는 데이터를 없애고, 유일한 값만을 뽑아 내려고 할 때 용이하다.
- contains()메서드를 사용하여 데이터가 포함되어 있는지를 확인할 때 용이.
- Collection 인터페이스를 확장하였다.
- Set 인터페이스를 구현한 클래스로는
- AbstractSet, ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReaseons, LinkedHashSet, TreeSet이 있으며,
- HashSet이 많이 사용된다.
Queue 인터페이스
Queue는 데이터를 순차적으로 처리하기 위한 메서드이다.
- FIFO (First In First Out, 선입선출) 구조로 되어있어, 먼저 들어온 데이터를 처리하기 위해서 꺼내면, 그 뒤에 있던 두번째 데이터가 맨 앞에 존재하게 된다.
- 데이터가 들어온 순서대로 빨리 처리할 때 용이하다.
- Collection 인터페이스를 확장하였다. 하지만, Collection에 선언된 add(), remove(), element() 메서드를 사용하는 것은 권장하지 않는다.
- offer(): 데이터를 저장할 떄 사용
- poll(): 가장 앞에 있는 데이터를 꺼내고, 지운다.
- peek(): 가장 앞에 있는 데이터를 꺼내기만 하고, 지우지는 않는다.
- Queue인터페이스를 구현한 클래스로는
- AbstractQueue, Array BlockingQueue,ArrayDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque,LinkedBlockingQueue, LinkedList, PriorityBlockingQueue, PriorityQueue, SynchronousQueue 등이 있으며,
- 보통 LinkedList가 많이 사용된다.
- Map 인터페이스
Map은 중복되지 않는 키(key) 와 그 키와 연결되어 있는 값(value)이 쌍으로 묶여있는 자료 구조이다.
따라서, Collection 인터페이스를 확장하지 않았다.
- key-value 쌍으로 데이터를 관리한다.
- key는 중복되어서는 안되며, value는 key만 다르다면 중복되어도 상관 없다.
- Map은 키로 식별할 수 있는 데이터를 담아두고, 데이터의 위치와 상관없이 키 만으로 쉽게 꺼낼 필요가 있을 때 용이하다.
- put(): 키와 값으로 데이터를 저장할때 사용한다.
- get(): 키로 데이터를 꺼낼 때 사용한다.
- Map 인터페이스는 부모 인터페이스가 존재하지 않는다.
- Map 인터페이스를 구현한 클래스로는
- AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, HashMap,Hashtable, IdentityHashMap, LinkedHashMap, PrinterStateReasons,Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport,TreeMap, UIDefaults, WeakHashMap가 있으며,
- 이중에서 HashMap 을 많이 사용한다.
Vector의 경우 addElement 로 한다는점!
'IT 공부 > KH 정보교육원' 카테고리의 다른 글
index 페이지(시작페이지), main 페이지 작성 (0) | 2021.06.01 |
---|---|
개념정리 노트 (0) | 2021.06.01 |
빈즈(beans)란? (0) | 2021.05.30 |
CSS 입히기 (0) | 2021.05.25 |
회원가입, 회원수정 페이지 (0) | 2021.05.25 |