List

Uยท2022๋…„ 9์›” 1์ผ
0

Java

๋ชฉ๋ก ๋ณด๊ธฐ
3/4

๐Ÿ’ก ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ๋ฆฌ์ŠคํŠธ๋Š” ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š๊ณ  ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์žฅ์ ์ด ์žˆ์Œ

ArrayList

how to use?๐Ÿ™„

  • import java.util.ArrayList
ArrayList list = new ArrayList();
list.add(123);
list.add(0, 123); // ์ฒซ๋ฒˆ์งธ ์œ„์น˜์— ์‚ฝ์ž…ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
list.get(1); // list์˜ ๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’ ์ถ”์ถœ
list.size(); // list์— ๋‹ด๊ธด ๊ฐฏ์ˆ˜ ์ถœ๋ ฅ
list.contains(123); // list์— 123์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ boolean์œผ๋กœ ๋ฆฌํ„ด
list.remove(123); // list์—์„œ 123์„ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•˜๊ณ  ์‚ญ์ œํ•œ ๊ฒฐ๊ณผ(true, false) ๋ฆฌํ„ด
list.remove(0); // ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•˜๊ณ  ์‚ญ์ œ๋œ ํ•ญ๋ชฉ ๋ฆฌํ„ด ex) 138

ArrayList<String> list = new ArrayList<String>();
// <String> : ArrayList ์•ˆ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์€ String ํƒ€์ž… ๋ฟ์ด๋‹ค.
  • ๋ณดํ†ต ๋’ท ๋ถ€๋ถ„์˜ ์ž๋ฃŒํ˜• ์ƒ๋žต ๊ฐ€๋Šฅ -> ArrayList<String> list = new ArrayList<>();

  • ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ArrayList ์•ˆ์— ์ถ”๊ฐ€๋˜๋Š” ๊ฐ์ฒด๋Š” Object ์ž๋ฃŒํ˜•์œผ๋กœ ์ธ์‹๋จ -> ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๊ฒฝ์šฐ ํ•ญ์ƒ Object ์ž๋ฃŒํ˜•์—์„œ String ์ž๋ฃŒํ˜•์œผ๋กœ ํ˜•๋ณ€ํ™˜(casting)์„ ํ•ด์ฃผ์–ด์•ผ ํ•จ


Vector

  • ํ•ญ์ƒ ๋™๊ธฐํ™” ๋จ -> ์Šค๋ ˆ๋“œ๊ฐ€ ์•„๋‹Œ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฑฐ์˜ ์‚ฌ์šฉ X

how to use?๐Ÿ™„

Vector v = new Vector(); // ํƒ€์ž… ์„ค์ • x -> Object๋กœ ์‚ฌ์šฉ
Vector<VectorDemo> demo = new Vector<VectorDemo>();
// class(VectorDemo) ํƒ€์ž…์œผ๋กœ ์„ค์ •
Vector<Integer> v = new Vector<Integer>();
Vector<Integer> v = new Vector<>(); // ํƒ€์ž… ์„ ์–ธ ์ƒ๋žต
Vector<Integer> v = new Vector<Integer>(10); // ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ ์„ค์ •
Vector<Integer> v = new Vector<Integer>(Arrays.asList(1, 2, 3, 4));

v.add("Hello");
v.add(1, "World"); // vector์˜ ๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
v.add(null); // null ๊ฐ’๋„ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ

v.set(1, "Hello"); // vector์˜ ๊ฐ’ ๋ณ€๊ฒฝ
v.remove(1); // index 1์˜ ๊ฐ’ ์ œ๊ฑฐ
v.removeAllElements(); // ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ
v.clear(); // ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ
v.size(); // vector์˜ ํฌ๊ธฐ ๊ตฌํ•˜๊ธฐ
v.capacity(); // vector์˜ ์šฉ๋Ÿ‰ ๊ตฌํ•˜๊ธฐ
v.get(1); // index 1์˜ ๊ฐ’ ํ˜ธ์ถœ

LinkedList

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฐ์†๋œ ์œ„์น˜์— ์ €์žฅ๋˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„๊ณผ ์ฃผ์†Œ ๋ถ€๋ถ„์„ ๋ณ„๋„๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
  • ํฌ์ธํ„ฐ์™€ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ
  • ๋ฐฐ์—ด์—์„œ ์ž์ฃผ ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒฝ์šฐ ArrayList๋ณด๋‹ค ์„ ํ˜ธ๋จ
  • ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ (์•ž -> ๋’ค)

how to use?๐Ÿ™„

  LinkedList ll = new LinkedList(); // ํƒ€์ž… ์„ค์ • x -> Object๋กœ ์‚ฌ์šฉ
  LinkedList<LinkedListDemo> demo = new LinkedList<LinkedListDemo>();
  // LinkedListDemo class๋ฅผ ํƒ€์ž…์œผ๋กœ ์„ ์–ธ
  LinkedList<Integer> ll = new LinkedList<Integer>();
  LinkedList<Integer> ll = new LinkedList<>(); // ํƒ€์ž… ์„ ์–ธ ์ƒ๋žต ๊ฐ€๋Šฅ
  LinkedList<Integer> ll = new LinkedList<Integer>(Arrays.asList(1, 2, 3));
  
  ll.add("Hello");
  ll.add(1, "World"); // LinkedList์˜ ๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
  ll.add(null); // null ๊ฐ’๋„ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ
  
  ll.set(1, "Hello"); // LinkedList์˜ ๊ฐ’ ๋ณ€๊ฒฝ
  ll.remove(); // LinkedList์˜ ์ฒซ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ์‚ญ์ œ
  ll.remove(1); // index 1์˜ ๊ฐ’ ์ œ๊ฑฐ
  ll.removeFirst(); // LinkedList์˜ ์ฒซ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ์‚ญ์ œ
  ll.removeLast(); // LinkedList์˜ ๋งˆ์ง€๋ง‰ ๋ฐ์ดํ„ฐ ์‚ญ์ œ
  ll.contains("Hello"); // LinkedList์— ๊ฐ’์ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€ ํŒ๋‹จ(true/false)
  ll.size(); // LinkedList์˜ ํฌ๊ธฐ ๊ตฌํ•˜๊ธฐ
  ll.indexOf("Hello"); // LinkedList์—์„œ ๊ฐ’์˜ index ๋ฐ˜ํ™˜
  ll.get(1); // index 1์˜ ๊ฐ’ ํ˜ธ์ถœ

Doubly Linked List (์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

  • ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ ์–‘๋ฐฉํ–ฅ์ด ๊ฐ€๋Šฅํ•จ

Multiply Linked List

Circular Linked List

  • Array์—๋„ ์žˆ์Œ
  • ๋งจ ๋’ค์™€ ๋งจ ์•ž์ด ์ด์–ด์ ธ ์žˆ์Œ
profile
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์—ฐ์Šต์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€