JAVA ์ž๋ฃŒ๊ตฌ์กฐ :: List Interface

smiยท2022๋…„ 7์›” 24์ผ
1

JAVA (์ž๋ฐ”)

๋ชฉ๋ก ๋ณด๊ธฐ
49/62
post-thumbnail

๐Ÿ“ List Interface

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ์‹œ ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™ ๋ถ€์—ฌ๋˜๋ฉฐ ์ธ๋ฑ์Šค ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅ โžก ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๋ฐ ์‚ญ์ œ
  • ์ค‘๋ณต ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ฐ€๋Šฅ
  • ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ ฌ๋กœ ๋Š˜์—ฌ๋†“๋Š” ๊ตฌ์กฐ

โœ“ ์ฃผ์š” ์‚ฌ์šฉ ํด๋ž˜์Šค๋“ค๋งŒ ์„ค๋ช…

๐Ÿ’ก ๋ฉ”์†Œ๋“œ

๋ฉ”์†Œ๋“œ์„ค๋ช…
E set(int index, E e)์ปฌ๋ ‰์…˜์˜ ํ•ด๋‹น index์— ์œ„์น˜ํ•œ ๊ฐ์ฒด๋ฅผ ๋“ค์–ด์˜จ ๊ฐ์ฒด e๋กœ ๊ต์ฒดํ•˜๊ณ , ๊ธฐ์กด์— ์žˆ๋˜ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜
E get(int index)ํ•ด๋‹น ์ปฌ๋ ‰์…˜์—์„œ ์ฃผ์–ด์ง„ index์˜ ์œ„์น˜ํ•œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜
E remove(int index)์ปฌ๋ ‰์…˜์—์„œ ํ•ด๋‹น index ์œ„์น˜์˜ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋ฐ˜ํ™˜
int size()ํ•ด๋‹น ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
void clear()์ปฌ๋ ‰์…˜์— ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ์‚ญ์ œ
void add(int index, E e)์ฃผ์–ด์ง„ ๊ฐ์ฒด๋ฅผ ํ•ด๋‹น ์ปฌ๋ ‰์…˜์˜ ์ฃผ์–ด์ง„ index์— ์ถ”๊ฐ€
boolean add(E e)์ฃผ์–ด์ง„ ๊ฐ์ฒด e๋ฅผ ์ปฌ๋ ‰์…˜ ๋งจ ๋์— ์ถ”๊ฐ€, ์„ฑ๊ณต ์—ฌ๋ถ€ ๋ฐ˜ํ™˜
boolean contains(Object o)ํ•ด๋‹น ์ปฌ๋ ‰์…˜์ด ์ „๋‹ฌ๋œ ๊ฐ์ฒด o๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธ
boolean isEmpty()ํ•ด๋‹น ์ปฌ๋ ‰์…˜์ด ๋น„์–ด์žˆ๋Š” ์ง€๋ฅผ ๋ฐ˜ํ™˜
boolean remove(int index)์ปฌ๋ ‰์…˜ ํ•ด๋‹น index ์œ„์น˜์˜ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œ, ์„ฑ๊ณต ์—ฌ๋ถ€ ๋ฐ˜ํ™˜
boolean remove(Object o)ํ•ด๋‹น ๊ฐ์ฒด ์‚ญ์ œ
Iterator<E> iterator()๋ฐ˜๋ณต์ž(Iterator) ์ƒ์„ฑ

๐Ÿ’ก ArrayList

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ์‹œ, ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์กฐ์ •
  • ์ž๋™ ๋™๊ธฐํ™” ๋ณด์žฅ X
  • ์ƒ์„ฑ์ž
    • List<E> ๊ฐ์ฒด๋ช… = new ArrayList<E>([์ดˆ๊ธฐ ์ €์žฅ์šฉ๋Ÿ‰]);
    • E: ์ œ๋„ค๋ฆญ ํƒ€์ž… (์ƒ๋žต ์‹œ, Object ํƒ€์ž…)
  • ์žฅ์ 
    • ์ˆœ์ฐจ์  ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ๋น ๋ฆ„
    • ๊ฒ€์ƒ‰์ด ๋น ๋ฆ„
  • ๋‹จ์ 
    • ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•  ์‹œ ๋Š๋ฆผ
    • ์ค‘๊ฐ„ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ๋Š๋ฆผ
    • ๋™๊ธฐํ™”(Thread safe) ๋ถˆ๊ฐ€๋Šฅ

๐Ÿ’ก Vector

  • ArrayList์™€ ๊ตฌ์กฐ ๋™์ผ
  • ์ž๋™ ๋™๊ธฐํ™”(Thread safe) ๊ฐ€๋Šฅ
  • ์ƒ์„ฑ์ž
    • List<E> list = new Vector<e>([์ดˆ๊ธฐ์šฉ๋Ÿ‰,</e> ์ฆ๊ฐ€์šฉ๋Ÿ‰]);
    • ์ดˆ๊ธฐ์šฉ๋Ÿ‰๊ณผ ์ฆ๊ฐ€์šฉ๋Ÿ‰ ์ƒ๋žต ์‹œ, 0์œผ๋กœ ์„ค์ •

๐Ÿ’ก LinkedList

  • ArrayList๋‚˜ Vector์™€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ๋™์ผํ•˜๋‚˜ ๊ตฌ์กฐ๋Š” ๋‹ค๋ฆ„
  • ์ธ๋ฑ์Šค๋กœ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ , ์ธ์ ‘ํ•œ ๊ณณ์„ ๋งํฌํ•˜์—ฌ ๊ด€๋ฆฌ โžก ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ์‹œ ์ธ์ ‘ํ•œ ๊ณณ์˜ ๋งํฌ ๋ณ€๊ฒฝ
  • ์ƒ์„ฑ์ž
    • List<E> list = new LinkedList<E>();
  • ์žฅ์ 
    • ์ค‘๊ฐ„ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ๋น ๋ฆ„
    • ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•  ์‹œ ์‚ฌ์šฉ
  • ๋‹จ์ 
    • ์ˆœ์ฐจ์  ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ๋Š๋ฆผ
    • ๊ฒ€์ƒ‰์ด ๋Š๋ฆผ
  • ๋ฉ”์†Œ๋“œ
๋ฉ”์†Œ๋“œ์„ค๋ช…
offer(E e)์ฃผ์–ด์ง„ ๊ฐ์ฒด ์‚ฝ์ž…
E peek()๊ฐ์ฒด ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ด
E pop()๊ฐ์ฒด ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๊ณ  queue์—์„œ ์ œ๊ฑฐ

๐Ÿ’ก Stack

  • ํ›„์ž…์„ ์ถœ(LIFO) ๊ตฌ์กฐ
  • ๋ฉ”์†Œ๋“œ
๋ฉ”์†Œ๋“œ์„ค๋ช…
push(E e)์ฃผ์–ด์ง„ ๊ฐ์ฒด๋ฅผ ์Šคํƒ์— ๋„ฃ์Œ
E peek()๋งˆ์ง€๋ง‰์— ๋“ค์–ด๊ฐ„ ๊ฐ์ฒด ๋ฐ˜ํ™˜
E pop()๋งˆ์ง€๋ง‰์— ๋“ค์–ด๊ฐ„ ๊ฐ์ฒด๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐ˜ํ™˜

profile
๊ณต๋ถ€ํ•œ ๊ฑฐ ์˜ฌ๋ ค์š” :)

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