Notice
Recent Posts
Recent Comments
Link
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

brograming

[JAVA] 반복자_Day11 본문

Kosta

[JAVA] 반복자_Day11

brograming 2023. 2. 28. 16:17

반복자

객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료구조의 내부 요소를 순회하는 객체

배열, 리스트는 다음 칸으로 이동 요소를 하나씩 추출하는 동작을 반복함

이 작업을 자동 처리해줌

꼭 사용할 필요는 없다

 

Iterator<String> iter = list.iterator();  > 생성

iter.hasNext();                   // 다음 요소 있으면 true, 아니면 false반환

iter.next();                         // 다음 요소 추출

 

내부Iterator

for(타입 x:list){

  System.out.println(var);

  }

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package arraylist;
 
import java.util.ArrayList;
import java.util.Iterator;
 
public class 반복자 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
    
        //반복자를 외부에서 사용
        Iterator<String> iter = list.iterator();
        while(iter.hasNext()) {
            String s = iter.next();
            System.out.println(s);
        }
        
        //반복자를 내부 사용
        for(String s:list) {   // for(요소타입 변수명 : 리스트명) {변수로 원하는 작업}
        System.out.println(s);    
        }
    }
 
}
cs

 

반복자 복습 예제)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package arraylist;
 
import java.util.ArrayList;
import java.util.Iterator;
 
public class 반복자 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
    
        //반복자를 외부에서 사용
        Iterator<String> iter = list.iterator();
        while(iter.hasNext()) {
            String s = iter.next();
            System.out.println(s);
        }
        
        //반복자를 내부 사용
        for(String s:list) {   // for(요소타입 변수명 : 리스트명) {변수로 원하는 작업}
        System.out.println(s);    
        }
    }
}
cs
List에 데이터를 담고 반복을 돌리는 방법 3가지

ArrayList<String> list = new ArrayList<String>();

list.add("사과");

list.add("바나나");

list.add("포도");

list.add("파인애플");

list.add("복숭아");

 

1) for 문

 

for(int i = 0; i < list.length; i++) {

     System.out.println(list.get(i));

}

 

2) for-each문(향상된 for문)

 

for(String str : list) {

     System.out.println(str);

}

 

2) Iterator반복자

 

Iterator<String> iter = list.iterator();

  while(iter.hasNext()) {

     System.out.println(iter.next());

}