• ArrayList를 사용하여 문자열 저장, 그 문자열을 반복문과 Iterator를 사용하여 검색하는 예제
package ArrayList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class ArrayEx02 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>(Arrays.asList("HTML", "JAVA", "JSP"));
for (String str : list) {
System.out.println(str);
}
Iterator<String> it = list.iterator();
while (it.hasNext()) {
String str = it.next();
if ("JAVA".equals(str)) {
System.out.println(str);
System.out.println("JAVA 문자열이 존재합니다.");
}
}
}
}
1) ArrayList<String> list = new ArrayList<String>(Arrays.asList("HTML", "JAVA", "JSP"));
문자열 저장하는 ArrayList 'list' 생성.
Array.asList() 사용해 초기 값 추가하고 있음.
각 문자열은 개별 요소로 저장됨.
2) for-each 루프 사용해 list에 저장된 문자열 출력
3) Iterator<String> it = list.iterator():
Iterator 생성(컬렉션 반복하는데 사용됨)
hasNext() 메서드로 다음 요소가 있는지 확인, next() 메서드로 다음 요소 가져옴
4) while루프로 Iterator를 통해 list 반복하면서 JAVA 문자열 검색하고
해당 문자열 찾았을 때 문자열 출력, 메시지 표시
• Iterator: Java에서 컬렉션 반복(iterate)하면서 요소에 접근하는데 사용되는 인터페이스.
컬렉션의 내부 구조를 숨기고 안전하게 반복할 수 있도록 해줌.
요소를 수정하거나 삭제할 때 예상치 못한 동작을 피할 수 있음.
1. Iterator 객체 생성
컬렉션에서 Iterator 객체 생성
Iterator<T> iterator = collection.iterator();
T는 컬렉션에 저장된 요소의 타입
2. 요소 확인
hasNext() 메서드를 사용해 다음 요소가 있는지 확인
hasNext()가 true 반환하면 아직 요소 남아있고, false 반환하면 더 이상 요소가 없는 것.
while (iterator.hasNext()) {
// 다음 요소가 존재하는 동안 작업 수행
}
3. 다음 요소 얻기
next() 메서드 호출해 현재 요소로 가져옴.
이 메서드는 현재 요소 반환하고 Iterator를 다음 요소로 이동
T element = iterator.next();
// element를 사용하여 작업을 수행
4. 요소 삭제(선택적)
Iterator를 통해 현재 요소를 삭제할 수 있습니다. remove() 메서드를 호출하면 현재 요소가 삭제됩니다. 다만, 모든 컬렉션에서 remove()를 지원하지 않을 수 있으며, 호출하기 전에 반드시 hasNext()와 next()를 사용하여 현재 요소로 이동해야 합니다.
iterator.remove();
'학교 > JAVA' 카테고리의 다른 글
모바일 웹 서비스를 위한 JSP 웹 프로그래밍 연습문제_05장 서블릿 (0) | 2023.12.13 |
---|---|
컬렉션 연습문제 (Student, Main) (0) | 2023.10.27 |
컬렉션(ArrayList<String>) 연습문제 (ArrayEx01) (0) | 2023.10.26 |
객체와 객체배열 연습문제 (Phone, PhoneManager) (0) | 2023.10.26 |
컬렉션(물건 추가, 조회, 수정, 종료) 연습 문제 (Product, Main) (0) | 2023.09.26 |