brograming
[JAVA] 반복자_Day11 본문
반복자
객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료구조의 내부 요소를 순회하는 객체
배열, 리스트는 다음 칸으로 이동 요소를 하나씩 추출하는 동작을 반복함
이 작업을 자동 처리해줌
꼭 사용할 필요는 없다
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());
}
'Kosta' 카테고리의 다른 글
| [Oracle]1 ~ 3장_Day14 (0) | 2023.03.06 |
|---|---|
| [JAVA] 예외처리, 입출력 스트림_Day12 (0) | 2023.03.02 |
| [JAVA] 컬렉션(Map)_Day11 (0) | 2023.02.28 |
| [JAVA] lang 패키지, 컬렉션(ArrayList)_Day10 (0) | 2023.02.27 |
| [JAVA] 추상클래스, 인터페이스_Day10 (0) | 2023.02.27 |