๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋‚˜์˜ ๋ชจ์–‘

017 | Java - ๐Ÿฅ Practical | Collection Framework ๋ณธ๋ฌธ

SEB/TIL

017 | Java - ๐Ÿฅ Practical | Collection Framework

kexon 2022. 7. 16. 02:51

๐Ÿ’™ Practical - Collection Framework w.Pair

๐Ÿค TIL

๋”๋ณด๊ธฐ
  • ๋ฉ”์„œ๋“œ์˜ ์ค‘์š”์„ฑ
    • ๋ฉ”์„œ๋“œ์˜ ๋ชฉ์ 
    • Collection - Map์—์„œ 
      • put์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ˜ํ™˜๊ฐ’์ด ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ ์—†์–ด๋„ ๋จ. ๋ฐ˜ํ™˜์„ ํ•ด๋„๋˜๊ณ  ์•ˆํ•ด๋„ ๋จ
      • get์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜ํ™˜๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ. ๊ทธ๋ž˜์„œ ๋ฌด์กฐ๊ฑด ๋ฐ˜ํ™˜๊ฐ’์ด ์žˆ์–ด์•ผ๋จ
      • ๋ชฉ์ ๊ณผ ํ•˜๋Š” ์ผ์ด ๊ฐ’์„ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜ํ™˜๊ฐ’์„ ์ €์žฅํ•ด์•ผ๋จ
    • ๋งŒ๋“  ๋ฉ”์„œ๋“œ๋ฅผ ๊ทธ๋ƒฅ ๋ฐ”๋‹ฅ์—, ๊ณต์ค‘์— ๋‘”๋‹ผใ…‹ ⇒ ํ•ด๊ฒฐํ•ด์ฃผ๊ธฐ
  • ArrayList, LinkedList, HashMap ๋ฉ”์„œ๋“œ ํ™œ์šฉ
    • Generics๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑ์„ ํ•˜๊ณ  ๊ทธ ์ƒ์„ฑํ•œ ๊ฐ’์— ๋ฉ”์„œ๋“œ๋ฅผ ์–ด๋–ค์‹์œผ๋กœ ์ ์šฉํ•˜๋ฉด ๋˜๋Š”์ง€ ์•Œ๊ฒŒ๋จ
    • ์„ฑ๋Šฅ ์ฐจ์ด?
      • ๋ฌด์กฐ๊ฑด ์ด๊ฒŒ ๋น ๋ฅด๋‹ค, ์„ฑ๋Šฅ์ด ์ข‹๋‹ค ๋‚˜์˜๋‹ค ํ•˜๊ธฐ๋ณด๋‹ค ์„œ๋น„์Šค์˜ ์ƒํ™ฉ์„ ๋Œ€์ž…ํ•ด๋ณด๊ณ  ์ง์ ‘ ํ•ด๋ณด๋Š” ์—ฐ์Šต ํ•„์š”
  • ๋‹ค์–‘ํ•œ ๋ฌธ์ œ ํ’€์ด ๋ฐฉ๋ฒ•
    • ๊ผญ ํ•œ ๊ฐ€์ง€๋งŒ์ด ๋‹ต์ด ์•„๋‹ˆ๋ผ, ์ด๋ ‡๊ฒŒ๋„ ์ €๋ ‡๊ฒŒ๋„ ํ•ด๋ณด๋ฉด์„œ ํ•˜๋‚˜์˜ ๋‹ต์ด ๋‚˜์˜ค๋ฉด ๋˜๋Š” ๊ฒƒ!
  • Iterator ํ™œ์šฉ
    • ์š”์†Œ ์ˆœํšŒ์˜ ๋œป๊ณผ ํ™œ์šฉ์„ ์–ธ → ์‚ฌ์šฉ(hasNext() → next() → remove())
    • while๋ฌธ์ด false์ด๋ฉด(=๋น„์–ด์žˆ์œผ๋ฉด) ์‹คํ–‰ ์•ˆํ•จ
  • ํ–ฅ์ƒ๋œ for๋ฌธ ์‚ฌ์šฉ ์‹œ ๋‹จ์ ? ์ œํ•œ์ 
    • ๊ฐ’์˜ ์ˆ˜์ •/์‚ญ์ œ๊ฐ€ ์•ˆ๋จ ⇒ Read only with Array
  • ์—๋Ÿฌ์ฒ˜๋ฆฌ๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚  ๊ฒƒ ๊ฐ™์€(?) ๋ฌธ์žฅ ์œ„์— ํ•ด์ฃผ๊ธฐ
    • ์˜ˆ๋กœ ํฌ๊ธฐ๋ฅผ ๋ฒ—์–ด๋‚  index ์œ„์— index ๋ฒ”์œ„ ์ง€์ •
  • asList
    • ๋ฉ”์„œ๋“œ๋ผ์„œ ๋ฐ˜ํ™˜๊ฐ’์ด ์žˆ์–ด์„œ ๋ฆฌํ„ฐ๋Ÿด์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ์Œ
    • ์•ˆ์— new ํฌํ•จ
  • Intellij ๋‚ด๋ถ€ ์ฝ”๋“œ ๋ณด๋Š” ๋ฐฉ๋ฒ•
    • cmd + click

๐Ÿค Things Keep Confusing

๋”๋ณด๊ธฐ
  • ๋ฐฐ์—ด, ์ธ๋ฑ์Šค ๊ธธ์ด, size(), length(), length
  • ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ
  • ๋ฉ”์„œ๋“œ ๊ฐ’์ด ์—๋ฅผ๋“ค์–ด hashMap.get(); ์ด๋Ÿฐ์‹์œผ๋กœ ์žˆ์œผ๋ฉด ์ €๊ฒŒ ์ „์ฒด ๋‹ค ๊ฐ’์œผ๋กœ ๋ณ€ํ•จ
  • ๋ฉ”์„œ๋“œ๋Š” ๊ทธ๋Œ€๋กœ์ธ๋ฐ ์กฐ๊ธˆ๋งŒ ๋ฐ”๊ปด๋„ ์‘์šฉ์ด ์•ˆ๋จ. ํŠนํžˆ get๋ฉ”์„œ๋“œ... ์‚ฌ์—ญ๋™์‚ฌ๊ฐ€ ์‚ฌ์—ญ๋™์‚ฌ ํ–ˆ๋‹ค...
  • ๋ง์žฅ๋‚œ?๊ฐ™์€..ใ… .ใ…  ์ง„์งœ ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ๋‡Œ์˜ ๋กœ๋”ฉ์ด ๊ธธ์–ด์ง„๋‹ค
    • ํŠนํžˆ ๋ถ€๋“ฑํ˜ธ. ํฌ๋‹ค, ์ž‘๋‹ค, ์ด๋ ‡๊ฒŒ ๋“ค์œผ๋ฉด ์ด๊ฒŒ ๋ญ? ํ•˜๊ฒ ์ง€๋งŒ A๊ฐ€ b์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚  ๋•Œ ์ด๋Ÿฐ๊ฒŒ ๊ทธ๋ ‡๊ฒŒ ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ์—ฌ๊ธฐ์— ๋ฉ”์„œ๋“œ๊นŒ์ง€ ๋ถ™์–ด๋ฒ„๋ฆฌ๋ฉด ๋‡Œ์ •์ง€์˜จ๋‹ค

๐Ÿค Learn from Pair

๋”๋ณด๊ธฐ
  • ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ๊ธ์ •์ ์ธ ์˜ํ–ฅ๋ ฅ๊ณผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ž์‹ ๊ฐ์„ ์ฃผ๋Š” ๊ฒƒ
  • ์ธ๋‚ด์‹ฌ์„ ๊ฐ–๊ณ  ๋๊นŒ์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ (๊ทธ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋๋“  ํŽ˜์–ด๊ฐ€ ๋๋“  ใ…‹ใ…‹ใ…‹)

โœ… Ref.

๋”๋ณด๊ธฐ

๐Ÿ’œ ์˜ค๋Š˜์˜ ์ƒ๊ฐ ์กฐ๊ฐ๋ชจ์Œ

  • ํ•˜๋ฃจ์ข…์ผ ํŽ˜์–ด๋ถ„๊ป˜ ์„ ํ•œ ์˜ํ–ฅ๋ ฅ์„ ๋ฐ›์•˜๋‹ค. ์‹ค๋ ฅ๋ฉด์—์„œ๋„, ์ธ์„ฑ๋ฉด์—์„œ๋„ ๋ฐฐ์šธ ์ ์ด ๋งŽ์•˜๋Š”๋ฐ, ๋‚˜๋„ ๊ทธ๋ ‡๊ฒŒ ๊ท€๊ฐ์ด ๋˜๋Š” ์ข‹์€ ํŽ˜์–ด, ์ข‹์€ ๋™๋ฃŒ์ด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค ๐Ÿฅ๐Ÿ€

'SEB > TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

019 | Java - I/O, Thread, JVM  (0) 2022.07.19
018 | Java - Enum, Annotation, Lambda, Stream  (0) 2022.07.18
016 | Java - Generics, Collection Framework  (2) 2022.07.15
015 | Java  (0) 2022.07.13
014 | Java - Polymorphism, Abstraction  (0) 2022.07.12
Comments