๐Ÿ’ปProgramming/โ˜•๏ธJava

    [JAVA] Collections Framework - Set

    [JAVA] Collections Framework - Set

    04.Set - ์ˆœ์„œ โŒ ์ค‘๋ณต โŒ 1. Set์˜ ํŠน์ง• - null์€ ํ•˜๋‚˜๋งŒ ๋“ฑ๋ก ๊ฐ€๋Šฅ โžก ์ฃผ์š” ๊ตฌํ˜„ ํด๋ž˜์Šค HashSet, LinkedHashSet, TreeSet 2. Set ์ธํ„ฐํŽ˜์ด์Šค์™€ Set ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ๊ณ„์ธต๋„ (hierarchies) Set ์ธํ„ฐํŽ˜์ด์Šค์™€ Set ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ๊ณ„์ธต๋„(hierarchies) HashSet Set ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ์ˆœ์„œ โŒ ์ค‘๋ณต โŒ LinkedHashSet HashSet ํ•˜์œ„ ํด๋ž˜์Šค ํ•ด์‹œ ํ…Œ์ด๋ธ”(hash table)๊ณผ ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ(linked list)๋ฅผ ๊ตฌํ˜„ํ•œ Set ์ค‘๋ณต โŒ ์ˆœ์„œ ์œ ์ง€ โญ•๏ธ (์‚ฝ์ž… ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅ) TreeSet SortedSet ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ์ •๋ ฌ๋œ ์ˆœ์„œ์— ์˜ํ•ด ๋ฐ˜๋ณต ์ค‘๋ณต โŒ Comparable ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค๋งŒ ..

    [JAVA] Collections Framework - List

    [JAVA] Collections Framework - List

    02. List ๐Ÿ“‹ 1. List์˜ ํŠน์ง• - ์ˆœ์„œ โญ•๏ธ ์ค‘๋ณต โŒ - ๋ชฉ๋ก์—์„œ ๊ฐ ์š”์†Œ๊ฐ€ ์‚ฝ์ž…๋˜๋Š” ์œ„์น˜๋ฅผ ์ œ์–ด ๊ฐ€๋Šฅ - ์š”์†Œ๋ฅผ ์ธ๋ฑ์Šค๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ธ๋ฑ์Šค๋กœ ์š”์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. - ๋™์ผํ•œ ์š”์†Œ(๊ฐ์ฒด)๋ฅผ ์ค‘๋ณตํ•ด์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. - List ์ปฌ๋ ‰์…˜์€ ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ์ฒด์˜ ๋ฒˆ์ง€๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. - null ๋„ ์ €์žฅ์ด ๊ฐ€๋Šฅ (null์„ ์ €์žฅํ•œ ๊ฒฝ์šฐ ํ•ด๋‹น ์ธ๋ฑ์Šค๋Š” ๊ฐ์ฒด ์ฐธ์กฐX) โžก ์ฃผ์š” ๊ตฌํ˜„ ํด๋ž˜์Šค ArrayList, LinkedList, Vector, Stack 2. List ์ธํ„ฐํŽ˜์ด์Šค์™€ List ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ๊ณ„์ธต๋„(hierarchies) โญ๏ธ ArrayList์™€ LinkedList๊ฐ€ ํ•ต์‹ฌ List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๊ฐ€ ์—ฌ๋Ÿฟ ์žˆ์Œ Vector(Old ๋ฒ„์ „)์™€ A..

    [JAVA] Collections Framework

    [JAVA] Collections Framework

    01. Collections Framework 1. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ปฌ๋ ‰์…˜(Collection) ์—ฌ๋Ÿฌ ๊ฐ์ฒด(๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„ ๋†“์€ ๊ฒƒ์„ ์˜๋ฏธ ํ”„๋ ˆ์ž„์›Œํฌ(Framwork) ํ‘œ์ค€ํ™”, ์ •ํ˜•ํ™”๋œ ์ฒด๊ณ„์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ์ฆ‰, ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ง‘ํ•ฉ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋งž๋Š” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉโญ๏ธ 2. ์ฃผ์š” ์ปฌ๋ ‰์…˜ ์ธํ„ฐํŽ˜์ด์Šค ๊ณ„์ธต๋„(hierarchies) 3. ํ•ต์‹ฌ ์ธํ„ฐํŽ˜์ด์Šค 4. ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค ์ •๋ฆฌ List ์ธํ„ฐํŽ˜์ด์Šค - ์ˆœ์„œ โญ•๏ธ ์ค‘๋ณต โŒ ex) ๋Œ€๊ธฐ์ž ๋ช…๋‹จ Set ์ธํ„ฐํŽ˜์ด์Šค - ์ˆœ์„œ โŒ ์ค‘๋ณต โŒ ex) ์–‘์˜ ์ •์ˆ˜ ์ง‘ํ•ฉ, ์†Œ์ˆ˜์˜์ง‘ํ•ฉ Map ์ธํ„ฐํŽ˜์ด์Šค - ์ˆœ์„œ โŒ ์ค‘๋ณต(ํ‚ค โŒ, ๊ฐ’ โญ•๏ธ ) ex) ์šฐํŽธ๋ฒˆํ˜ธ, ์ง€์—ญ๋ฒˆํ˜ธ(์ „ํ™”๋ฒˆํ˜ธ)

    [JAVA] ์˜ˆ์™ธ์ฒ˜๋ฆฌ

    [JAVA] ์˜ˆ์™ธ์ฒ˜๋ฆฌ

    ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒ๋˜๋Š” ์—๋Ÿฌ โ‘  ์ปดํŒŒ์ผ ์—๋Ÿฌ (compile time error) ์ž˜ ๋ชป๋œ ๋ฌธ๋ฒ• ์‚ฌ์šฉ, ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ ‘์ ์ธ ์—๋Ÿฌ โ‘ก ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ (runtime error) ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ. ์—๋Ÿฌ์™€ ์˜ˆ์™ธ๊ฐ€ ์žˆ์Œ - ์—๋Ÿฌ(error) : ์‹œ์Šคํ…œ ์ด์ƒ์œผ๋กœ ๋ฐœ์ƒ๋˜๋Š” ์—๋Ÿฌ ex) ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์—๋Ÿฌ - ์˜ˆ์™ธ(exception): ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒ๋˜๋Š” ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ ex) 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ โ‘ข ๋…ผ๋ฆฌ์  ์—๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌธ์ œ๋ถ„์„์„ ์ž˜ ๋ชปํ•˜๊ฑฐ๋‚˜ ์‹ค์ˆ˜์— ์˜ํ•˜์—ฌ ์—‰๋šฑํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์—๋Ÿฌ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋‚˜ ๋””๋ฒ„๊น…์„ ํ†ตํ•ด ์—๋Ÿฌ๋ฅผ ์ฐพ์•„๋ƒ„ ex) ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋น„ํ–‰๊ธฐ๊ฐ€ ์ด์•Œ์„ ๋งž์•„๋„ ์ฃฝ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ํ•ด๋‹น ์ปดํŒŒ์ด์–ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค์ฝ”๋“œ์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ์€ ์ปด..