๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

LinkedList2

[2.์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ] LinkedList, ์žฌ๊ท€, LinkedListNode 1. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ž€ ? : ์ฐจ๋ก€๋Œ€๋กœ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋ฅผ ํ‘œํ˜„ํ•ด์ฃผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ 1) ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ : ๋…ธ๋“œ๋Š” ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฅดํ‚จ๋‹ค. 2) ์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ : ๋…ธ๋“œ๋Š” ๋‹ค์Œ ๋…ธ๋“œ์™€ ์ด์ „ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฅดํ‚จ๋‹ค. : ํŠน์ • ์ธ๋ฑ์Šค ์ ‘๊ทผ์‹œ ์ƒ์ˆ˜์‹œ๊ฐ„์— ์ ‘๊ทผ ๋ถˆ๊ฐ€ (์ฒ˜์Œ๋ถ€ํ„ฐ ~K๋ฒˆ๊นŒ์ง€ ๋ฃจํ”„๋ฅผ ๋Œ๋ ค์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ) : ๋”ฐ๋ผ์„œ ์‹œ์ž‘์ง€์ ์—์„œ ์•„์ดํ…œ ์ถ”๊ฐ€/์‚ญ์ œ๋ฅผ ์ƒ์ˆ˜์‹œ๊ฐ„์— ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋จ 2. ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ : LinkedList์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ตฌํ˜„ > head์˜ ๋…ธ๋“œ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ๋ฒ• ์‚ฌ์šฉ : ์ฆ‰, ๋…ธ๋“œ์† ํ•„๋“œ๋กœ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐ class Node{ Node next=null; int data; public Node(int d) { data=d; } void appendToTail(in.. 2020. 8. 25.
[List] ArrayList, Vector, LinkedList 1. List Interface : Link์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ž๋ฃŒ๊ตฌ์กฐ - ArrayList, Vector, LinkedList ๋“ฑ ArrayList ์ด ํด๋ž˜์Šค๋Š” Synchronized(X) : ์†๋„๊ฐ€ ์กฐ๊ธˆ ๋น ๋ฆ„, ๋™๊ธฐํ™”์ฒ˜๋ฆฌ ํ•„์š”์—†๋Š” ๊ฒฝ์šฐ ์ฃผ๋กœ ์‚ฌ์šฉ Vector ์ด ํด๋ž˜์Šค๋Š” Synchronized(O) : ์†๋„๊ฐ€ ์กฐ๊ธˆ ๋Š๋ฆผ : ์š”์†Œ์˜ ์ˆœ์„œ ์ €์žฅ๋˜๋ฉฐ, ์ค‘๋ณต ์ €์žฅ ๊ฐ€๋Šฅ : ๊ฐ’์„ ์—ฌ๋Ÿฌ๊ฐœ ์ €์žฅํ›„ ์ผ๊ด„์ฒ˜๋ฆฌ๊ฐ€ ๋ชฉ์  : ์ผ๊ด„์ฒ˜๋ฆฌ > ๋ฐ˜๋ณต์ง€์‹œ์ž Iterator ๋˜๋Š” for (์ž๋ฃŒํ˜• ๋ณ€์ˆ˜๋ช…:collection) ํ™œ์šฉ ArrayList.add(e) ์—˜๋ฆฌ๋จผํŠธ ๊ฐ’ ์ถ”๊ฐ€ / index๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง€์ •์œ„์น˜์— ์ €์žฅ ๊ฐ€๋Šฅ ArrayList.get(index) index์— ์œ„์น˜ํ•œ ์—˜๋ฆฌ๋จผํŠธ ๋ฐ˜ํ™˜ ArrayList.set(Index, .. 2020. 8. 22.