JAVA

[JAVA] μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬

λ„μΊλ¦¬πŸ± 2022. 9. 12. 14:45
λ°˜μ‘ν˜•

μ»¬λ ‰μ…˜ ν”„λ ˆμž„ μ›Œν¬

: Collection + Framework > 데이터λ₯Ό λͺ¨μ•„ 놓을 수 μžˆλŠ” λΌˆλŒ€.

  • μ—¬λŸ¬ ν΄λž˜μŠ€λ“€κ³Ό λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•˜μ—¬ μ‰½κ²Œ 처리 κ°€λŠ₯
  • μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ΄μš©ν•œ λ‹€ν˜•μ„± κ°œλ… 이용
  • λ©”μ„œλ“œκ°€ μ •ν˜•ν™”λ˜μ–΄ μžˆμ–΄ μ‚¬μš©ν•˜κΈ° 용이
  • μž¬μ‚¬μš©μ„±μ΄ 높은 μ½”λ“œ μž‘μ„± κ°€λŠ₯

 

μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ˜ ꡬ쑰

μΈν„°νŽ˜μ΄μŠ€ νŠΉμ§• μ£Όμš”ν΄λž˜μŠ€
List λ°μ΄ν„°μ˜ μˆœμ„œ(index)  쑴재
(쀑볡 μ €μž₯ κ°€λŠ₯)
ArrayList, 
LinkedList,
Stack, 
Vector
Set λ°μ΄ν„°μ˜ μˆœμ„œ(index) 미쑴재
(쀑볡 μ €μž₯ λΆˆκ°€)
HashSet, 
TreeSet
Map 킀와 κ°’μœΌλ‘œ μ €μž₯
(ν‚€ 쀑볡 λΆˆκ°€)
HashMap,
Hashtable
TreeMap, 
Properties



# List μΈν„°νŽ˜μ΄μŠ€

λ°°μ—΄ List 객체 List λ©”μ„œλ“œ μ„€λͺ…
길이 κ³ μ • 길이 λ³€κ²½ κ°€λŠ₯ add(object)  μš”μ†ŒμΆ”κ°€
νƒ€μž… 미리 지정 λ‹€μ–‘ν•œ νƒ€μž… get(index) ν•΄λ‹Ή 인덱슀 객체 리턴
λŒ€κ΄„ν˜Έλ₯Ό ν†΅ν•œ 인덱슀 μ ‘κ·Ό λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•œ 인덱슀 μ ‘κ·Ό size()  객체의 길이 리턴



# Set μΈν„°νŽ˜μ΄μŠ€

νŠΉμ§•

: 데이터 쀑볡 λΆˆκ°€! 인덱슀 μ—†μŒ!

Map μΈν„°νŽ˜μ΄μŠ€μ™€ ν•¨κ»˜ μ‚¬μš©ν•˜κ±°λ‚˜, λ‹€λ₯Έ λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ Set μžλ£Œν˜•μœΌλ‘œ λ¦¬ν„΄ν•˜λŠ” 경우 λ°œμƒν•œλ‹€.

 

자주 μ‚¬μš©λ˜λŠ” λ©”μ„œλ“œ

add(object) μš”μ†Œ μΆ”κ°€

isEmpty(object) ν•΄λ‹Ή 객체가 μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€

remove(object) ν•΄λ‹Ή 객체 제거

 

μ‚¬μš© 예

import java.util.HashSet;

import java.util.Set;

 

Set set_ = new HashSet();

set_.add(“test1”);

 

Iterator : λͺ¨λ“  μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ˜ 데이터λ₯Ό μ ‘κ·Όν•  수 μžˆλ„λ‘ μ •ν˜•ν™”λœ μΈν„°νŽ˜μ΄μŠ€

Iterator iter = set.iterator();

while (iter.hasNext()){

print(iter.hasNext());

}



# Map  μΈν„°νŽ˜μ΄μŠ€

Key, value κ°’μœΌλ‘œ μ €μž₯ν•˜λŠ” ꡬ쑰,  *Collection μΈν„°νŽ˜μ΄μŠ€μ˜ ν•˜μœ„ 객체 μ•„λ‹˜!

 

μ‚¬μš©λ©”μ„œλ“œ

put(key, value) key와 value둜 κ°’ μΆ”κ°€

get(key) ν•΄λ‹Ή key둜 κ°’ 리턴

keySet() λͺ¨λ“  keyλ₯Ό set객체둜 리턴



Map μ—μ„œ iterator μ‚¬μš© 예

Set keyset = map.keySet();

Iterator iter = keyset.iterator();

while (iter.hasNext()){

System.out.println(map.get(iter.next()));

}

 

λ°˜μ‘ν˜•