ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
์ฝ”๋”ฉ ์ง ๐Ÿ’ช
ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
  • ์นดํ…Œ๊ณ ๋ฆฌ (135)
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ• (12)
      • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (5)
      • DB (0)
      • Node.js (4)
      • ํ˜•์ƒ ๊ด€๋ฆฌ (2)
      • Spring (1)
    • ์›น (11)
      • React (5)
      • ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ__์›น (6)
    • ๋ชจ๋ฐ”์ผ (2)
      • ์•ˆ๋“œ๋กœ์ด๋“œ (2)
    • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (55)
      • C (13)
      • Python (15)
      • SQL (5)
      • Java (22)
    • ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท (11)
      • ์•„๋‘์ด๋…ธ (11)
    • ์ผ์ƒ (31)
      • ๋ง›์ง‘ (13)
      • ๋žญํ‚น๋‹ญ์ปด (4)
      • ํ›„๊ธฐ (11)
      • ์š”๋ฆฌ (3)
      • ์žก๋‹ด (0)
    • ๊ต์–‘ (4)
      • ์‹ฌ๋ฆฌํ•™ (3)
      • ํ…Œ๋‹ˆ์Šค (1)
    • ์ž๊ฒฉ์ฆ (9)
      • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (9)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ’ป github

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ

์ฝ”๋”ฉ ์ง ๐Ÿ’ช

[Java] ์ž๋ฐ” Iterator์™€ ListIterator
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/Java

[Java] ์ž๋ฐ” Iterator์™€ ListIterator

2023. 3. 28. 16:24

[ ์ž๋ฐ” Iterator ]

๋”๋ณด๊ธฐ

- ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(JCF)๋Š” ์ €์žฅ๋œ ์š”์†Œ๋ฅผ ์ฝ์–ด์˜ค๊ธฐ ์œ„ํ•ด

  Iterator<E> ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์šฉ์„ ํ‘œ์ค€ํ™”๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Œ

- Collection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” List์™€ Set ์ธํ„ฐํŽ˜์ด์Šค๋Š” Iterator ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ

  ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” iterator() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ ์š”์†Œ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ

iterator() ๋ฉ”์†Œ๋“œ ๋™์ž‘ ์›๋ฆฌ

 

ใ€Š Iterator ๋ฉ”์†Œ๋“œ ใ€‹

// -- Set<E> Interface --
Set <String> set = new HashSet <String>();
set.add("1");
set.add("2"); 
set.add("3"); 

System.out.println("== [Set ์ธํ„ฐํŽ˜์ด์Šค] HashSet ๊ฐ์ฒด -> Iterator ์ถœ๋ ฅ ==");
Iterator <String> iter = set.iterator();
while(iter.hasNext()) {
    System.out.print(iter.next() + " ");
}

/* [์ถœ๋ ฅ๊ฒฐ๊ณผ]
   == [Set ์ธํ„ฐํŽ˜์ด์Šค] HashSet ๊ฐ์ฒด -> Iterator ๊ฐ์ฒด ์ถœ๋ ฅ ==
   1 2 3  
*/

 

 

 

[ ์ž๋ฐ” ListIterator ]

๋”๋ณด๊ธฐ

- ListIterator<E> ์ธํ„ฐํŽ˜์ด์Šค๋Š” Iterator ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค

- ๊ธฐ์กด Iterator ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ปฌ๋ ‰์…˜ ์š”์†Œ ์ ‘๊ทผ ์‹œ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๊ฐ€๋Šฅํ–ˆ์Œ.

- ListIterator๋Š” ์ปฌ๋ ‰์…˜ ์š”์†Œ ๋Œ€์ฒด, ์ถ”๊ฐ€, ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰ ๋“ฑ์„ ์œ„ํ•œ ์ž‘์—…์—์„œ ์–‘๋ฐฉํ–ฅ ์ด๋™ ์ง€์›

- List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ List ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

ใ€Š ListIterator ๋ฉ”์†Œ๋“œ ใ€‹

// -- List<E> Interface -- 
List <String> list = new ArrayList <String>();
list.add("1"); 
list.add("2");
list.add("3");

System.out.println("== [List ์ธํ„ฐํŽ˜์ด์Šค] ArrayList ๊ฐ์ฒด ListIterator ์ถœ๋ ฅ ==");
ListIterator <String> iter = list.listIterator();
while(iter.hasNext()) {
    System.out.print(iter.next() + " ");
}

while(iter.hasPrevious()) {	// ์—ญ์ˆœ ์ถœ๋ ฅ
    System.out.print(iter.previous() + " ");
}

/* [์ถœ๋ ฅ๊ฒฐ๊ณผ]
   == [List ์ธํ„ฐํŽ˜์ด์Šค] ArrayList ๊ฐ์ฒด ListIterator ์ถœ๋ ฅ ==
   1 2 3 3 2 1 
*/
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    'ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Java] ์ž๋ฐ” ์Šค๋ ˆ๋“œ์™€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ
    • [Java] ์ž๋ฐ” ์ž๋ฃŒ๊ตฌ์กฐ(JCF)
    • [์ž๋ฐ”] ์ž๋ฐ” Wrapper ํด๋ž˜์Šค
    • [Java] ์ž๋ฐ” ๋žŒ๋‹ค (Lambda)
    ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
    ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
    ๐Ÿ‘Š ๋ธ”๋กœ๊ทธ๋„ ๊ทผ์„ฑ์ด๋‹ค? ๐Ÿ‘Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”