Day07 - jeremy0405/Codesquad_CS GitHub Wiki

์ œ๋„ค๋ฆญ

LinkedList๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋‚˜๋Š” VideoData ์ž์ฒด๋ฅผ ๋…ธ๋“œ๋กœ ๋ณด๊ณ  VideoData๋งŒ์„ ์ทจ๊ธ‰ํ•˜๋Š” myLinkedList ํด๋ž˜์Šค๋ฅผ ์„ค๊ณ„ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ค€, ํ”ผ์˜ค, ํ›„, ๋•ƒ์ฅ, sally, Jay ๋“ฑ ๋งŽ์€ ๋ฉค๋ฒ„๋“ค์ด ์ œ๋„ค๋ฆญ์„ ์ด์šฉํ•ด ๋ฒ”์šฉ์ ์ธ LinkedList๋ฅผ ๊ตฌํ˜„ ํ•œ ํ›„์— ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๋‚˜๋„ ๋ฒ”์šฉ์ ์ธ LinkedList๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ์ œ๋„ค๋ฆญ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•ด๋ดค๋‹ค.


์ œ๋„ค๋ฆญ์ด๋ž€?

  • ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์™ธ๋ถ€์—์„œ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋ฒ•
  • ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๊ฐ์ฒด๋“ค์„ ๋‹ค๋ฃจ๋Š” ๋ฉ”์„œ๋“œ๋‚˜ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค์— ์ปดํŒŒ์ผ ์‹œ์˜ ํƒ€์ž…์„ ์ฒดํฌ๋ฅผ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ
  • ์ปดํŒŒ์ผ ์‹œ์— ํƒ€์ž…์„ ์ฒดํฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํƒ€์ž… ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ

๋งŽ์ด ์“ฐ์ด๋Š” ์ œ๋„ค๋ฆญ

ํƒ€์ž… ์„ค๋ช…
<T> Type
<E> Element
<K> Key
<V> Value
<N> Number

์ œ๋„ค๋ฆญ ํด๋ž˜์Šค ์„ ์–ธ

class Node {
	Object data;
	Node nextNode;

	public Node(Object o) {
		this.data = o;
		nextNode = null;
	}
}
class Node<E> {
	E data;
	Node<E> nextNode;

	public Node(E o) {
		this.data = o;
		next = null;
	}
}

๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์—ˆ๋˜ ์ดˆ๊ธฐ์˜ Node์™€ ๋‹ฌ๋ฆฌ ๋‘๋ฒˆ์งธ์—์„œ ์ œ๋„ค๋ฆญ์„ ์ด์šฉํ•ด์„œ ๋งŒ๋“  ๋…ธ๋“œ๋Š” Node<Integer> mynode = new Node<>(); ์™€ ๊ฐ™์ด ํ•ด์„œ Integer๋งŒ ๋‹ด๊ฑฐ๋‚˜ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ VideoData๋งŒ ๋‹ด์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฃผ์˜์‚ฌํ•ญ

์ œ๋„ค๋ฆญ์—๋Š” ์ฐธ์กฐ ํƒ€์ž…๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ primitive Type์ธ byte, short, int, long ... ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ