[Java] ArrayList | LinkedList

Jeiniยท2022๋…„ 12์›” 4์ผ
0

โ˜•๏ธย  Java

๋ชฉ๋ก ๋ณด๊ธฐ
37/70
post-thumbnail

๐Ÿ’ก ArrayList

โœ… List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๋™์  ๋ฐฐ์—ด(Resizable array)

  • ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด '๋Š˜์–ด๋‚˜๋Š” ๋ฐฐ์—ด' โ†’ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ํ•„์š”ํ•  ๋•Œ ์ž๋™์œผ๋กœ ํฌ๊ธฐ๋ฅผ ํ‚ค์›Œ๊ฐ€๋ฉฐ ์š”์†Œ๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • ArrayList์™€ ๋‹ฌ๋ฆฌ Vector๋Š” ์ž์ฒด์ ์œผ๋กœ ๋™๊ธฐํ™”์ฒ˜๋ฆฌ๊ฐ€ ๋˜์–ด ์žˆ๋‹ค.
  • List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋ฏ€๋กœ, ์ €์žฅ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋˜๊ณ  ์ค‘๋ณต์„ ํ—ˆ์šฉํ•œ๋‹ค.
  • ์ธ๋ฑ์Šค๋กœ ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializale {
	...
    protected Object[] elementData; // ๊ฐ์ฒด๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•œ ๋ฐฐ์—ด
	...
}

๐Ÿ“ ํŠน์ง•:

  • ์กฐํšŒ ๋น ๋ฆ„ (index ์ ‘๊ทผ)
  • ์‚ฝ์ž…/์‚ญ์ œ ๋А๋ฆผ (์ค‘๊ฐ„์— ๋ผ์›Œ ๋„ฃ์œผ๋ฉด ๋’ค ์š”์†Œ๋“ค์„ ๋‹ค ๋ฐ€์–ด์•ผ ํ•จ)
  • ํฌ๊ธฐ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๋‚ด๋ถ€ ๋ฐฐ์—ด์„ ๋” ํฐ ๋ฐฐ์—ด๋กœ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์„œ ๋ณต์‚ฌํ•จ
List<String> list = new ArrayList<>();
list.add("A");              // ๋งจ ๋’ค์— ์ถ”๊ฐ€
list.add(0, "B");           // index 0์— ์‚ฝ์ž… (์ค‘๊ฐ„ ์‚ฝ์ž…)
String s = list.get(1);     // ์ธ๋ฑ์Šค๋กœ ์กฐํšŒ
list.remove(0);             // ์ธ๋ฑ์Šค๋‚˜ ๊ฐ์ฒด๋กœ ์‚ญ์ œ
int size = list.size();     // ํ˜„์žฌ ์š”์†Œ ๊ฐœ์ˆ˜

๐Ÿ“Œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?

  1. ์ฒ˜์Œ์—๋Š” ์ž‘์€ ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค.
  2. ์š”์†Œ๋ฅผ add() ํ•ด์„œ ์ฑ„์›Œ ๋„ฃ๋Š”๋‹ค.
  3. ๋งŒ์•ฝ ๋‹ค ์ฐผ๋Š”๋ฐ ๋” ๋„ฃ์–ด์•ผ ํ•˜๋ฉด?
    • ๋” ํฐ ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์„œ ๊ธฐ์กด ๊ฐ’์„ ๋ณต์‚ฌํ•ด ๋„ฃ๋Š”๋‹ค.
    • ๊ทธ๋ž˜์„œ ํฌ๊ธฐ๊ฐ€ ๊ณ„์† "์ž๋™์œผ๋กœ" ๋Š˜์–ด๋‚œ๋‹ค.

๐Ÿ“Œ ์žฅ์  & ๋‹จ์ 

โœ… ์žฅ์ 

  • ์ธ๋ฑ์Šค๋กœ ๋ฐ”๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ โ†’ ๋น ๋ฆ„ (O(1))
  • ์ž๋™์œผ๋กœ ํฌ๊ธฐ ๋Š˜๋ ค์คŒ โ†’ ํŽธ๋ฆฌํ•จ
  • ์ˆœ์ฐจ ํƒ์ƒ‰์— ๋น ๋ฆ„ (์บ์‹œ ํšจ์œจ ์ข‹์Œ)

โŒ ๋‹จ์ 

  • ์ค‘๊ฐ„ ์‚ฝ์ž…/์‚ญ์ œ ๋А๋ฆผ (O(n)) โ†’ ๋’ค์— ์žˆ๋Š” ์š”์†Œ๋“ค์„ ๋‹ค ๋ฐ€์–ด์•ผ ํ•ด์„œ
  • ํฌ๊ธฐ ๋Š˜๋ฆด ๋•Œ๋งˆ๋‹ค ๋ฐฐ์—ด ๋ณต์‚ฌ ๋น„์šฉ ๋ฐœ์ƒ
  • ๊ธฐ๋ณธํ˜•(int, double ๋“ฑ)์€ ๋ฐ”๋กœ ๋ชป ๋„ฃ๊ณ  Wrapper ํด๋ž˜์Šค(Integer, Double ๋“ฑ)๋กœ ๊ฐ์‹ธ์•ผ ํ•จ

๐Ÿ“Œ ์–ธ์ œ ์“ฐ๋ฉด ์ข‹์„๊นŒ?

  • ๋ฐ์ดํ„ฐ ์กฐํšŒ๊ฐ€ ๋งŽ๊ณ  ์‚ฝ์ž…/์‚ญ์ œ๋Š” ์ฃผ๋กœ ๋์—๋งŒ ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ โ†’ ArrayList ์ตœ์ 
  • ์˜ˆ: ๊ฒŒ์‹œํŒ ๊ธ€ ๋ชฉ๋ก, ์‡ผํ•‘๋ชฐ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ ๋“ฑ

โœ๏ธ ArrayList ์ƒ์„ฑ์ž

โœ”๏ธ String class / Collection_List์˜ ์ƒ์„ฑ์ž, ๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋Šฅ์ด ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จ์š”์•ฝํ•จ.

โ—๏ธ initialCapacity: ๋ฐฐ์—ด์˜ ์šฉ๋Ÿ‰

โœ๏ธ ArrayList ๋ฉ”์„œ๋“œ

๐Ÿ“Ž ์ถ”๊ฐ€

โ—๏ธ int index: ์ €์žฅ์œ„์น˜

๐Ÿ“Ž ์‚ญ์ œ

โ—๏ธ void clear(): ๋ชจ๋“  ๊ฐ์ฒด ์‚ญ์ œ

๐Ÿ“Ž ๊ฒ€์ƒ‰

โ—๏ธ ๋ชป์ฐพ์œผ๋ฉด -1 ๋ฐ˜ํ™˜
โ—๏ธ Object set(int index, Object element): ๋ณ€๊ฒฝ

๐Ÿ“Ž ๊ทธ ์™ธ

โ—๏ธ int size(): ์ €์žฅ๋œ ๊ฐ์ฒด์˜ ๊ฐฏ์ˆ˜


๐Ÿ’ก LinkedList

โœ… LinkedList๋Š” ๋…ธ๋“œ(Node)๋“ค์„ ํฌ์ธํ„ฐ(์ฐธ์กฐ)๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ List ๊ตฌํ˜„์ฒด

  • ArrayList๋Š” ๋ฐฐ์—ด ๊ธฐ๋ฐ˜์ด๋ผ ์—ฐ์†๋œ ๊ณต๊ฐ„์— ์ €์žฅ๋˜์ง€๋งŒ, LinkedList๋Š” ๋–จ์–ด์ ธ ์žˆ๋Š” ๋…ธ๋“œ๋“ค์ด ์„œ๋กœ ์•ž/๋’ค ์ฃผ์†Œ๋ฅผ ์•Œ๊ณ  ์—ฐ๊ฒฐ๋ผ ์žˆ๋‹ค.
  • ์ž๋ฐ”์˜ LinkedList๋Š” ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(doubly linked list) ๋กœ ๊ตฌํ˜„๋ผ ์žˆ์–ด์„œ, ์•ž/๋’ค๋กœ ๋ชจ๋‘ ํƒ์ƒ‰ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ“Œ ๋‚ด๋ถ€ ๊ตฌ์กฐ

๊ฐ ๋…ธ๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง:

[prev] <- [data] -> [next]

์ฆ‰,

  • data : ์‹ค์ œ ๊ฐ’ ์ €์žฅ
  • prev : ์ด์ „ ๋…ธ๋“œ ์ฃผ์†Œ
  • next : ๋‹ค์Œ ๋…ธ๋“œ ์ฃผ์†Œ

์ž๋ฐ” LinkedList ๋Š” ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ(head)์™€ ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ(tail) ์ฐธ์กฐ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();

        list.add("์ œ๋‹ˆ");           // ๋งจ ๋’ค์— ์ถ”๊ฐ€
        list.addFirst("์ฒ ์ˆ˜");       // ๋งจ ์•ž์— ์ถ”๊ฐ€
        list.addLast("์˜ํฌ");        // ๋งจ ๋’ค์— ์ถ”๊ฐ€

        System.out.println(list.get(1)); // index 1 ํƒ์ƒ‰ (๋А๋ฆผ)

        list.remove("์ฒ ์ˆ˜");         // ๊ฐ’์œผ๋กœ ์‚ญ์ œ
        list.removeFirst();          // ์ฒซ ์š”์†Œ ์‚ญ์ œ
        list.removeLast();           // ๋งˆ์ง€๋ง‰ ์š”์†Œ ์‚ญ์ œ
    }
}

๐Ÿ“Œ ์„ฑ๋Šฅ ๋ถ„์„ (๋น…์˜ค)

  • ๋งจ ์•ž/๋’ค ์‚ฝ์ž…/์‚ญ์ œ โ†’ O(1) (๋…ธ๋“œ ์ฐธ์กฐ๋งŒ ๋ฐ”๊พธ๋ฉด ๋จ)
  • ์ค‘๊ฐ„ ์‚ฝ์ž…/์‚ญ์ œ โ†’ O(n) (์ค‘๊ฐ„ ๋…ธ๋“œ๋ฅผ ์ฐพ๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ)
  • ์ธ๋ฑ์Šค ์ ‘๊ทผ(get(i)) โ†’ O(n) (์•ž์ด๋‚˜ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ด๋™ํ•ด์•ผ ํ•จ)

๐Ÿ‘‰ ์กฐํšŒ ์„ฑ๋Šฅ์€ ArrayList๋ณด๋‹ค ํ›จ์”ฌ ๋А๋ฆฌ์ง€๋งŒ, ์‚ฝ์ž…/์‚ญ์ œ๋Š” ํŠน์ • ์ƒํ™ฉ์—์„œ ๋” ๋น ๋ฆ„.


๐Ÿ“Œ ์žฅ์  & ๋‹จ์ 

โœ… ์žฅ์ 

  • ์‚ฝ์ž…/์‚ญ์ œ๊ฐ€ ๋น ๋ฆ„ (ํŠนํžˆ ์•ž์ด๋‚˜ ๋’ค์—์„œ)
  • ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•  ํ•„์š” ์—†์Œ (๋ฐฐ์—ด์ฒ˜๋Ÿผ ํ™•์žฅ ๋ณต์‚ฌ ๋น„์šฉ ์—†์Œ)

โŒ ๋‹จ์ 

  • ์ธ๋ฑ์Šค ์กฐํšŒ๊ฐ€ ๋А๋ฆผ (O(n))
  • ๋…ธ๋“œ๋งˆ๋‹ค prev, next ์ฐธ์กฐ๋ฅผ ์ €์žฅํ•ด์•ผ ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋งŽ์Œ
  • ์บ์‹œ ํšจ์œจ์ด ๋‚ฎ์•„ ์ˆœ์ฐจ ํƒ์ƒ‰๋„ ArrayList๋ณด๋‹ค ๋А๋ฆฐ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ

๐Ÿ“Œ ์–ธ์ œ ์“ฐ๋ฉด ์ข‹์„๊นŒ?

  • ์ค‘๊ฐ„ ์‚ฝ์ž…/์‚ญ์ œ๊ฐ€ ๋งŽ์„ ๋•Œ โ†’ LinkedList ์œ ๋ฆฌ
  • ์•ž/๋’ค์—์„œ๋งŒ ์‚ฝ์ž…/์‚ญ์ œํ•  ๋•Œ โ†’ LinkedList ๋งค์šฐ ์œ ๋ฆฌ (addFirst, removeFirst ๋“ฑ)
  • ์กฐํšŒ๊ฐ€ ๋งŽ์„ ๋•Œ โ†’ ArrayList ํ›จ์”ฌ ์œ ๋ฆฌ

๐Ÿ‘‰ ๊ทธ๋ž˜์„œ ์‹ค๋ฌด์—์„œ๋Š” LinkedList๋ฅผ ํŠน์ˆ˜ํ•œ ์ƒํ™ฉ์—์„œ๋งŒ ์“ฐ๊ณ , ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ArrayList๊ฐ€ ๋” ๋งŽ์ด ์“ฐ์ธ๋‹ค.


๐Ÿ“Ž Singly linkedList

class Node { // ์š”์†Œ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ Node๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
	Node next; //  ๋‹ค์Œ๋…ธ๋“œ๊ฐ€ ์–ด๋”˜์ง€ ์ฐธ์กฐ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ฒŒ ๋œ๋‹ค.
    Object obj; // ๋ฐ์ดํ„ฐ
}
class SinglyLinkedNode {
    int val;
    SinglyLinkedNode next = null;
    SinglyLinkedNode(int v) {
        val = v;
    }
}

โœ”๏ธ ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(singly linkedList)
: ๋‹ค์Œ ์š”์†Œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ์ฐธ์กฐ๋งŒ์„ ๊ฐ€์ง€๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ

  • ์š”์†Œ์˜ ์ €์žฅ๊ณผ ์‚ญ์ œ ์ž‘์—…์ด ๋‹ค์Œ ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๋ฏ€๋กœ, ์•„์ฃผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ, ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ฑ ๋‚ฎ์Œ
    : ํ˜„์žฌ ์š”์†Œ์—์„œ ์ด์ „ ์š”์†Œ๋กœ ์ ‘๊ทผํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต๋‹ค.

๐Ÿ“Ž doubly linkedList

class Node {
	Node next; // ๋‹ค์Œ์š”์†Œ
    Node previous; // ์ด์ „์š”์†Œ
    Object obj; // ๋ฐ์ดํ„ฐ
}
class DoublyListNode {
    int val;
    DoublyListNode next;
    DoublyListNode prev;
    DoublyListNode(int x) {
    	val = x;
    }
}

โœ”๏ธ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(doubly linked list)
: ์ด์ „ ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋„ ๊ฐ€์ง€๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ

  • ์ด์ค‘ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ, ์ ‘๊ทผ์„ฑ ํ–ฅ์ƒ
    : ์—ฐ๊ฒฐ์ด 2๊ฐœ โžก๏ธ ๋‹ค์Œ์š”์†Œ์™€ ์ด์ „์š”์†Œ ์ด ์ฐธ์กฐ๋ฅผ 2๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  • ์ถ”๊ฐ€ ์‚ญ์ œํ•  ๋•Œ์—๋Š” 2๊ฐœ์˜ ์—ฐ๊ฒฐ์„ ๋Š์–ด์ค˜์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ์ข€ ๋” ๊ฑธ๋ฆฐ๋‹ค.

  • ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ํ•œ๋ฒˆ์— 2๊ฐœ 3๊ฐœ ๊ฑด๋„ˆ๋›ฐ๋Š”๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ“Ž doubly circular linkedList

โœ”๏ธ ์ด์ค‘ ์›ํ˜• ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(doubly circular linkedList)

  • ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ๋งจ ์ฒ˜์Œ ์š”์†Œ์—, ๋งจ ์ฒ˜์Œ ์š”์†Œ๋ฅผ ๋งจ ๋์˜ ์š”์†Œ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๋งจ ์ฒ˜์Œ์š”์†Œ์—์„œ ๋งจ ๋์˜ ์š”์†Œ๋ฅผ ์ด๋™ํ•  ๋•Œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์„ ์•ž์—์„œ ๋ฐ”๋กœ ๋งจ ๋์œผ๋กœ ์ด๋™ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฑ„๋„ 1์—์„œ ๋ฆฌ๋ชจ์ปจ์œผ๋กœ ์ฑ„๋„์„ ๊ฐ์†Œ์‹œํ‚ฌ ๋•Œ, ์ฑ„๋„0์ด ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฑ„๋„ 999์ธ ์ ค ๋งˆ์ง€๋ง‰ ์ฑ„๋„๋กœ ํ–ฅํ•œ๋‹ค. ์ด๋Ÿฐ ์›๋ฆฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

๐Ÿ’ก ArrayList VS LinkedList


ํ•ญ๋ชฉArrayListLinkedList
๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฐฐ์—ด ๊ธฐ๋ฐ˜๋…ธ๋“œ ๊ธฐ๋ฐ˜ (์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)
์ ‘๊ทผ ์†๋„์ธ๋ฑ์Šค O(1) (๋น ๋ฆ„)์ธ๋ฑ์Šค O(n) (๋А๋ฆผ)
์‚ฝ์ž…/์‚ญ์ œ (์ค‘๊ฐ„)O(n) (๋’ค ์š”์†Œ ์ด๋™ ํ•„์š”)O(n) (๋…ธ๋“œ ํƒ์ƒ‰ ํ›„ O(1) ์—ฐ๊ฒฐ ๋ณ€๊ฒฝ)
์‚ฝ์ž…/์‚ญ์ œ (์•ž/๋’ค)์•ž: O(n), ๋’ค: amortized O(1)์•ž/๋’ค: O(1)
๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ๋‚ฎ์Œ(์ถ”๊ฐ€ ์ฐธ์กฐ ์—†์Œ)๋†’์Œ(๋…ธ๋“œ๋งˆ๋‹ค prev/next ์ €์žฅ)
์บ์‹œ ์นœํ™”๋„์ข‹์Œ๋‚˜์จ

1. ์ˆœ์ฐจ์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ธฐ

  • ArrayList: 406
  • LinkedList: 606

LinkedList๋Š” ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜๋‹ค ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด๋ณด๋‹ค๋Š” ์ถ”๊ฐ€๊ฐ€ ๋А๋ฆฌ๋‹ค.

2. ์ˆœ์ฐจ์ ์œผ๋กœ ์‚ญ์ œํ•˜๊ธฐ

  • ArrayList: 11
  • LinkedList: 46

3. ์ค‘๊ฐ„์— ์ถ”๊ฐ€ํ•˜๊ธฐ

  • ArrayList: 7382
  • LinkedList: 31

4. ์ค‘๊ฐ„์—์„œ ์‚ญ์ œํ•˜๊ธฐ

  • ArrayList: 6694
  • LinkedList: 380

5. ์ ‘๊ทผ์‹œ๊ฐ„ํ…Œ์ŠคํŠธ

  • ArrayList: 1
  • LinkedList: 432
  • ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ / ์‚ญ์ œ: ArryaList๊ฐ€ ๋น ๋ฆ„
  • ๋น„์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ / ์‚ญ์ œ: LinkedList๊ฐ€ ๋น ๋ฆ„
  • ์ ‘๊ทผ์‹œ๊ฐ„(access time): ArrayList๊ฐ€ ๋น ๋ฆ„
    index๊ฐ€ n์ธ ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ = ๋ฐฐ์—ด์˜ ์ฃผ์†Œ + n * ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ํฌ๊ธฐ

References
: https://cafe.naver.com/javachobostudy

profile
Fill in my own colorful colors๐ŸŽจ

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