λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Java

[Java-기초] μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬

by μ½”λ”©ν•˜λŠ” λΆ•μ–΄ 2021. 2. 21.
λ°˜μ‘ν˜•

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

ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  λ•Œ μ‚¬μš©ν•˜λŠ” 자료 ꡬ쑰λ₯Ό μ–΄λ–€ ꡬ쑰둜 관리할 것인지가 μ€‘μš”ν•œλ°, μ΄λ•Œ μ‚¬μš©ν•˜λŠ” 것이 '자료 ꡬ쑰'이닀.

자료 κ΅¬μ‘°λŠ” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑 λ©”λͺ¨λ¦¬μ— 자료λ₯Ό μœ μ§€·κ΄€λ¦¬ν•˜κΈ°μœ„ν•΄ μ‚¬μš©ν•œλ‹€.

μžλ°”μ—μ„œλŠ” ν•„μš”ν•œ 자료 ꡬ쑰λ₯Ό 미리 κ΅¬ν˜„ν•˜μ—¬ java.util νŒ¨ν‚€μ§€μ—μ„œ μ œκ³΅ν•˜κ³  μžˆλŠ”λ°, 이λ₯Ό 'μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬'라고 ν•œλ‹€.

μžλ°” μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ—λŠ” μ—¬λŸ¬ μΈν„°νŽ˜μ΄μŠ€κ°€ μ •μ˜λ˜μ–΄ 있고, κ·Έ μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ ν΄λž˜μŠ€κ°€ μžˆλ‹€.

μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ˜ 전체 κ΅¬μ‘°λŠ” Collection μΈν„°νŽ˜μ΄μŠ€μ™€ Map μΈν„°νŽ˜μ΄μŠ€ 기반으둜 이루어져 μžˆλ‹€.

Collection μΈν„°νŽ˜μ΄μŠ€λŠ” ν•˜λ‚˜μ˜ 자료λ₯Ό λͺ¨μ•„μ„œ κ΄€λ¦¬ν•˜λŠ” 데 ν•„μš”ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜κ³ , Map μΈν„°νŽ˜μ΄μŠ€λŠ” 쌍으둜 된 μžλ£Œλ“€μ„ κ΄€λ¦¬ν•˜λŠ” 데 μœ μš©ν•œ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.

​

​

​

*Collection μΈν„°νŽ˜μ΄μŠ€

Collection μΈν„°νŽ˜μ΄μŠ€ ν•˜μœ„μ— List μΈν„°νŽ˜μ΄μŠ€μ™€ Set μΈν„°νŽ˜μ΄μŠ€κ°€ μžˆλ‹€.

List μΈν„°νŽ˜μ΄μŠ€λŠ” 순차적인 자료λ₯Ό κ΄€λ¦¬ν•˜λŠ” 데 μ‚¬μš©ν•˜κ³ , Set μΈν„°νŽ˜μ΄μŠ€λŠ” μš°λ¦¬κ°€ μˆ˜ν•™ μ‹œκ°„μ— 배운 집합을 μƒκ°ν•˜λ©΄ λœλ‹€. 집합은 μˆœμ„œμ™€ 상관없이 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€. λ”°λΌμ„œ Set κ³„μ—΄μ˜ ν΄λž˜μŠ€λŠ” μ•„μ΄λ””μ²˜λŸΌ μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” 객체λ₯Ό λ‹€λ£¨λŠ”λ° μ‚¬μš©ν•œλ‹€.

​

λΆ„λ₯˜

μ„€λͺ…

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

μˆœμ„œκ°€ μžˆλŠ” 자료 관리, 쀑볡 ν—ˆμš©.

이 μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ ν΄λž˜μŠ€λŠ” ArrayList, Vectior, LinkedList, Stack, Queue 등이 μžˆλ‹€.

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

μˆœμ„œκ°€ μ •ν•΄μ Έ μžˆμ§€ μ•ŠμŒ, 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠμŒ.

이 μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ ν΄λž˜μŠ€λŠ” HashSet, TreeSet 등이 μžˆλ‹€.

​

​

-μ£Όμš” λ©”μ„œλ“œ

λ©”μ„œλ“œ

μ„€λͺ…

boolean add(E e)

Collection에 객체λ₯Ό μΆ”κ°€ν•œλ‹€.

void clear( )

Collection의 λͺ¨λ“  객체λ₯Ό μ œκ±°ν•œλ‹€.

iterator<E> iterator

Collection을 μˆœν™˜ν•  반볡자(Iterator)λ₯Ό λ°˜ν™˜ν•œλ‹€.

boolean remove(Object o)

Collection에 λ§€κ°œλ³€μˆ˜μ— ν•΄λ‹Ήν•˜λŠ” μΈμŠ€ν„΄μŠ€κ°€ μ‘΄μž¬ν•˜λ©΄ μ œκ±°ν•œλ‹€.

int size( )

Collection에 μžˆλŠ” μš”μ†Œμ˜ 개수λ₯Ό λ°˜ν™˜ν•œλ‹€.

​

​

​

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

Map μΈν„°νŽ˜μ΄μŠ€λŠ” ν•˜λ‚˜κ°€ μ•„λ‹Œ 쌍으둜 λ˜μ–΄ μžˆλŠ” 자료λ₯Ό κ΄€λ¦¬ν•˜λŠ” λ©”μ„œλ“œλ“€μ΄ μ„ μ–Έλ˜μ–΄ μžˆλ‹€.

key-value 쌍이라고 ν‘œν˜„ν•˜λŠ”λ° 이 λ•Œ ν‚€ 값은 쀑볡될 수 μ—†λ‹€.

​

​

-μ£Όμš” λ©”μ„œλ“œ

λ©”μ„œλ“œ

μ„€λͺ…

V put(K key, V value)

key에 ν•΄λ‹Ήν•˜λŠ” value 값을 map에 λ„£λŠ”λ‹€.

V get(K key)

key에 ν•΄λ‹Ήν•˜λŠ” value 값을 λ°˜ν™˜ν•œλ‹€.

boolean isEmpty( )

Map이 λΉ„μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό λ°˜ν™˜ν•œλ‹€.

boolean containsKey(Object key)

Map에 ν•΄λ‹Ή keyκ°€ μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό λ°˜ν™˜ν•œλ‹€.

boolean containsValue(Object value)

Map에 ν•΄λ‹Ή valueκ°€ μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό λ°˜ν™˜ν•œλ‹€.

Set keyset( )

key 집합을 Set둜 λ°˜ν™˜ν•œλ‹€.(쀑볡 μ•ˆ λ˜λ―€λ‘œ Set)

Collection values( )

valueλ₯Ό Collection으둜 λ°˜ν™˜ν•œλ‹€.(쀑볡 무관)

V remove(key)

keyκ°€ μžˆλŠ” 경우 μ‚­μ œν•œλ‹€.

boolean remove(Object key, Object value)

keyκ°€ μžˆλŠ” 경우 key에 ν•΄λ‹Ήν•˜λŠ” valueκ°€ λ§€κ°œλ³€μˆ˜μ™€ μΌμΉ˜ν•  λ•Œ μ‚­μ œν•œλ‹€.

​

​

​

*Collection νŒ¨ν‚€μ§€ ν•˜μœ„μ— ν”„λ‘œκ·Έλž¨ μ „λ°˜μ—μ„œ κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©ν•  'Member' 클래슀 κ΅¬ν˜„ν•˜κΈ°

​

Member.java

package collection;

public class Member implements Comparable<Member> {
	private int memberID;
	private String memberName;

	public Member(int memberID, String memberName) {
		this.memberID = memberID;
		this.memberName = memberName;
	}

	public int getMemberID() {
		return memberID;
	}

	public void setMemberID(int memberID) {
		this.memberID = memberID;
	}

	public String getMemberName() {
		return memberName;
	}

	public void setMemberName(String memberName) {
		this.memberName = memberName;
	}

	@Override
	public String toString() {
		return memberName + " νšŒμ›λ‹˜μ˜ μ•„μ΄λ””λŠ” " + memberID + "μž…λ‹ˆλ‹€.";
	}
    
}

 

λ°˜μ‘ν˜•

λŒ“κΈ€