Notice
Recent Posts
Link
Today
Total
10-06 00:17
관리 메뉴

dingdong coding

[JAVA ] Collection λ³Έλ¬Έ

🐰JAVA/Basic

[JAVA ] Collection

🐢 개발개발 🐾 2022. 6. 20. 12:11

Collection Framework ?

    •  객체의 κ·Έλ£Ή

    •  μžλ°”μ˜ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•©λ‹ˆλ‹€.

    •  Collection μΈν„°νŽ˜μ΄μŠ€λŠ” List, Set, Queue μΈν„°νŽ˜μ΄μŠ€κ°€ ν™•μž₯λ˜λŠ” 루트 μΈν„°νŽ˜μ΄μŠ€

    •  Javaμ—μ„œλŠ” λͺ¨λ“  Collection ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν¬ν•¨ν•˜λŠ” 집합인  "Collection Framework"λΌλŠ” κ°œλ…μ΄ μ •μ˜

    •  μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ—λŠ” μ»¬λ ‰μ…˜μ„ λ‚˜νƒ€λ‚΄κ³  μ‘°μž‘ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 클래슀 및 μΈν„°νŽ˜μ΄μŠ€ 집합이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

 

Javaμ—μ„œ μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬λž€ λ‹€μˆ˜μ˜ 데이터λ₯Ό 쉽고 효과적으둜 μ²˜λ¦¬ν•  수 μžˆλŠ” ν‘œμ€€ν™”λœ 방법을 μ œκ³΅ν•˜λŠ” 클래슀의 집합을 μ˜λ―Έν•©λ‹ˆλ‹€.

 

즉, λ°μ΄ν„°λ₯Ό μ €μž₯ν•˜λŠ” μžλ£Œκ΅¬μ‘°μ™€ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ„ κ΅¬μ‘°ν™”ν•˜μ—¬ 클래슀둜 κ΅¬ν˜„ν•΄ 놓은 것

 

 

μ»¬λ ‰μ…˜ μΈν„°νŽ˜μ΄μŠ€ 1) List  μΈν„°νŽ˜μ΄μŠ€ 2) Set  μΈν„°νŽ˜μ΄μŠ€ 3) Map μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

이 μ€‘μ—μ„œ List와 Set은 Collection μΈν„°νŽ˜μ΄μŠ€λ₯Ό μƒμ†λ°›μ§€λ§Œ, κ΅¬μ‘°μƒμ˜ 차이둜 인해 Map μΈν„°νŽ˜μ΄μŠ€λŠ” λ³„λ„λ‘œ μ •μ˜ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ Map도 Collection으둜 λΆ„λ₯˜ ν•΄μ€λ‹ˆλ‹€.

 

μ£Όμš” μΈν„°νŽ˜μ΄μŠ€ κ°„ 상속 관계

Collection class 

- μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ— μ†ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ 클래슀 

 

Collection interface

- μ»¬λ ‰μ…˜μ„ λ‹€λ£¨λŠ”λ° κ°€μž₯ 기본적인 λ™μž‘μ„ μ •μ˜ν•˜κ³  λ©”μ†Œλ“œλ‘œ μ œκ³΅ν•©λ‹ˆλ‹€. 

- List와 Set μΈν„°νŽ˜μ΄μŠ€λŠ” 그것을 μƒμ†λ°›μŠ΅λ‹ˆλ‹€.

 

boolean add(E e) ν•΄λ‹Ή μ»¬λ ‰μ…˜(collection)에 μ „λ‹¬λœ μš”μ†Œλ₯Ό 좔가함. (선택적 κΈ°λŠ₯)
void clear() ν•΄λ‹Ή μ»¬λ ‰μ…˜μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό μ œκ±°ν•¨. (선택적 κΈ°λŠ₯)
boolean contains(Object o) ν•΄λ‹Ή μ»¬λ ‰μ…˜μ΄ μ „λ‹¬λœ 객체λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ”μ§€λ₯Ό 확인함.
boolean equals(Object o) ν•΄λ‹Ή μ»¬λ ‰μ…˜κ³Ό μ „λ‹¬λœ 객체가 같은지λ₯Ό 확인함.
boolean isEmpty() ν•΄λ‹Ή μ»¬λ ‰μ…˜μ΄ λΉ„μ–΄μžˆλŠ”μ§€λ₯Ό 확인함.
Iterator<E> iterator() ν•΄λ‹Ή μ»¬λ ‰μ…˜μ˜ 반볡자(iterator)λ₯Ό λ°˜ν™˜ν•¨.
boolean remove(Object o) ν•΄λ‹Ή μ»¬λ ‰μ…˜μ—μ„œ μ „λ‹¬λœ 객체λ₯Ό μ œκ±°ν•¨. (선택적 κΈ°λŠ₯)
int size() ν•΄λ‹Ή μ»¬λ ‰μ…˜μ˜ μš”μ†Œμ˜ 총 개수λ₯Ό λ°˜ν™˜ν•¨.
Object[] toArray() ν•΄λ‹Ή μ»¬λ ‰μ…˜μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό Object νƒ€μž…μ˜ λ°°μ—΄λ‘œ λ°˜ν™˜ν•¨.

 

LIST INTERFACE

    •  μ €μž₯ μˆœμ„œκ°€ μžˆλŠ”(μœ μ§€λ˜λŠ”) λ°μ΄ν„°μ˜ μ§‘ν•©μœΌλ‘œ λ°μ΄ν„°μ˜ 쀑볡을 ν—ˆμš©ν•©λ‹ˆλ‹€. ex) Vector, ArrayList, LinkedList, Stack, Queue

 

 

SET INTERFACE

  •  μ €μž₯ μˆœμ„œκ°€ μ—†λŠ” λ°μ΄ν„°μ˜ μ§‘ν•©μœΌλ‘œ, λ°μ΄ν„°μ˜ 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ex) HashSet, TreeSet

 

MAP INTERFACE

  •  킀와 κ°’μ˜ ν•œ 쌍으둜 μ΄λ£¨μ–΄μ§€λŠ” λ°μ΄ν„°μ˜ μ§‘ν•©μœΌλ‘œ, μˆœμ„œκ°€ μ—†μŠ΅λ‹ˆλ‹€. ex) HashMap, TreeMap, Hashtable, Properties

  •  ν‚€λŠ” 쀑볡 X, 값은 쀑볡 O 

 

 

ν•™μŠ΅μ— λ§Žμ€ 도움이 된 링크λ₯Ό  μ°Έμ‘°ν–ˆμŠ΅λ‹ˆλ‹€. πŸ™‚

 

참쑰 및 좜처

μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ˜ κ°œλ…

Java – Collections Framework

Collections in Java

'🐰JAVA > Basic' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[JAVA ] Set Interface  (0) 2022.06.28
[JAVA ] List Interface  (0) 2022.06.20
[ JAVA ] Optional  (0) 2022.06.15
[ JAVA ] Lambda  (0) 2022.06.14
[ JAVA ] HashMap  (0) 2022.06.14
Comments