MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

πŸ’Ž JAVA/πŸ“šλͺ…ν’ˆ JAVA_ESSENTIAL

Λšβ‚Šβœ©β€§β‚Š (κ°œλ…) μ»¬λ ‰μ…˜ / μ œλ„€λ¦­ - λͺ…ν’ˆ JAVA ESSENTIAL Λšβ‚Šβœ©β€§β‚Š

HYEJU01 2024. 4. 10. 21:41

μ»¬λ ‰μ…˜

  • μš”μ†ŒλΌκ³  λΆˆλ¦¬λŠ” 객체 μ‚½μž…/μ‚­μ œ/검색 κΈ°λŠ₯ κ°–μΆ˜ κ°€λ³€ 크기의 μ»¨ν…Œμ΄λ„ˆ (λ°°μ—΄ 단점 극볡)
  • ν”„λ‘œκ·Έλž˜λ°μ— ν•„μš”ν•œ 기초적인 μžλ£Œκ΅¬μ‘°λ“€μ„ μ»¬λ ‰μ…˜μœΌλ‘œ λ§Œλ“€μ–΄ μ œκ³΅ν•¨
  • μ œλ„€λ¦­ κΈ°λ²•μœΌλ‘œ κ΅¬ν˜„λ˜μ–΄μžˆλ‹€.
  • java.util νŒ¨ν‚€μ§€ ⇒ μ»¬λ ‰μ…˜ κ°œλ…μ˜ μΈν„°νŽ˜μ΄μŠ€ / 클래슀 제곡 Set<E> List<E> Queue<E> Map<K,V> λ“±λ“±

μ»¬λ ‰μ…˜ νŠΉμ§•

  1. μ œλ„€λ¦­ κΈ°λ²•μœΌλ‘œ κ΅¬ν˜„, 이름에
  2. νƒ€μž…λ§€κ°œλ³€μˆ˜ <E> , <K> 항상 포함됨 (μ»¬λ ‰μ…˜ μš”μ†Œλ₯Ό μΌλ°˜ν™” μ‹œν‚¨ νƒ€μž…) ⇒ μΌλ°˜ν™” μ‹œν‚¨ νƒ€μž… , μ œλ„€λ¦­ νƒ€μž…μ΄λΌκ³  뢀름
  3. μ»¬λ ‰μ…˜ μš”μ†ŒλŠ” 객체! 만 κ°€λŠ₯ (κΈ°λ³Ένƒ€μž… μ‚½μž…μ‹œ μžλ™ λ°•μ‹± → Wrappper클래슀 λ³€ν™˜)

μ œλ„€λ¦­ (μΌλ°˜ν™”)

λͺ¨λ“  μ’…λ₯˜μ˜ νƒ€μž…μ„ λ‹€λ£° 수 μžˆλ„λ‘ 클래슀/λ©”μ†Œλ“œλ₯Ό μΌλ°˜ν™”λœ νƒ€μž… 맀개 λ³€μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ μ„ μ–Έν•˜λŠ” 기법이닀.

  • μ œλ„€λ¦­μ— νƒ€μž…μ„ μ§€μ •ν•˜λ©΄ , κ΅¬μ²΄ν™”λœ specialized μŠ€νƒμ΄ λœλ‹€.
  • E : Element
  • T : Type
  • V : Vaule
  • K : Key
  • ν•˜λ‚˜μ˜ λŒ€λ¬Έμžλ‘œ μ‚¬μš©

Vector<E> μ»¬λ ‰μ…˜

배열을 κ°€λ³€ν¬κΈ°λ‘œ λ‹€λ£Έ / μ‚½μž… μ‚­μ œ 이동 쉬움!

Vector<Integer> v = new Vector<Integer>();

  • μš©λŸ‰μ€ μžλ™ 쑰절됨 / μš©λŸ‰ 지정도 κ°€λŠ₯
  • μ£Όμš” λ©”μ†Œλ“œλŠ” κ²€μƒ‰ν•΄μ„œ μ°Έκ³  !! add() , get(), elementAt(),size(),capacity, remove(),

μ»¬λ ‰μ…˜ - μžλ™ λ°•μ‹±/μ–Έλ°•μ‹±

v.add(4) → Integer(4) // μžλ™λ°•μ‹±

int k = v.get(0) // μžλ™ μ–Έλ°•μ‹±

ArrayList<E> μ»¬λ ‰μ…˜

κ°€λ³€ 크기의 배열을 κ΅¬ν˜„ν•œ μ»¬λ ‰μ…˜ 인덱슀둜 μš”μ†Œμ— μ ‘κ·Ό ν•˜λ„λ‘ 지원함

(벑터와 차이점 : μŠ€λ ˆλ“œ κ°„ 동기화 지원 X → λ‹€μˆ˜ μŠ€λ ˆλ“œ μ‚½μž…/μ‚­μ œ 좩돌 μœ„ν—˜ → λ©€ν‹° μŠ€λ ˆλ“œ 동기화 직접 κ΅¬ν˜„ν•΄μ•Όλ¨)

  • μ£Όμš” λ©”μ†Œλ“œλŠ” κ²€μƒ‰ν•΄μ„œ μ°Έκ³  ! add(), clear, …

순차 검색 lterator

순차적으둜 μš”μ†Œλ₯Ό 검색 ν•  λ•Œ → Iterator<E> μΈν„°νŽ˜μ΄μŠ€ → Iterator() λ©”μ†Œλ“œ

μΈλ±μŠ€κ°€ μ—†λŠ” 것듀은 Iterator μ‚¬μš©ν•˜λ©΄ 유용 → Set, LinkedList

  • hasNext(), next(), remover() λ©”μ†Œλ“œ
  • iterator 객체 = 반볡자라고 뢀름
Iterator<Integer> it  = v.iterator(); 

while(it.hasNext()){
	int n = it.netx();
	...
}

HashMap<K,V> μ»¬λ ‰μ…˜

킀와 κ°’μœΌλ‘œ κ΅¬μ„±λ˜λŠ” μš”μ†Œ (μš”μ†Œ μˆœμ„œ, μœ„μΉ˜ μ€‘μš”ν•˜μ§€ μ•Šμ€ μ‘μš©μ— μ‚¬μš©)

μ‚½μž…μ‚­μ œμ†λ„ λ†’μŒ / μΈλ±μŠ€κ°€ μ—†μŒ(ν‚€κ°’ ν•„μˆ˜λ‘œ μ•Œμ•„μ•Όν•¨) /

  • put(), get() 으둜 μ‚½μž…, 검색 ν•œλ‹€.
  • ν•΄μ‹œ ν•¨μˆ˜ hash function : μœ„μΉ˜λ₯Ό μ •ν•΄μ€Œ (랜덀)
  • clear(), get(), keyset(), put() λ“±λ“± λ©”μ†Œλ“œ