[Java] Iterator

SeongWon Oh·2021년 8월 20일
0

Java

목록 보기
24/39
post-thumbnail

Iterator<E> 인터페이스

  • 컬렉션 프레임워크에서 컬렉션에 저장되어있는 요소들을 읽어오는 표준화된 방법이다.

  • Collection 인터페이스에서는 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 iterator() 메소드를 정의하여 각 요소에 접근하도록 하고 있어 Collection 인터페이스를 상속 받는 List와 Set인터페이스에서도 iterator()메소드를 사용할 수 있다.

  • boolean hasNext() : 이후에 요소가 더 있는지를 체크하는 메서드, 요소가 있다면 true를 반환한다.

  • E next() : 다음에 있는 요소를 반환


👨🏻‍💻 Example Code

  • Iterator를 사용하지 않고 요소 순회를 한 예시
for(int i =0; i<arrayList.size(); i++){ // 해당 아이디를 가진 멤버를 ArrayList에서 찾음
	Member member = arrayList.get(i);
	int tempId = member.getMemberId();
	if(tempId == memberId){            // 멤버아이디가 매개변수와 일치하면 
		arrayList.remove(i);           // 해당 멤버를 삭제
		return true;                   // true 반환
	}
}

👨🏻‍💻 Example Code

  • Iterator를 사용한 예시
Iterator<Member> ir = arrayList.iterator();
// <>안에는 반복 할 자료형을 입력
while(ir.hasNext()) {
	Member member = ir.next();
	
	int tempId = member.getMemberId();
	if(tempId == memberId){
		arrayList.remove(member); 
		// 위의 코드에서는 index를 지정하여 remove한 코드
		// 현재 코드는 iterator를 member object를 사용하기에 object를 빈칸에 입력
		return true;                  
	}
}



Reference

  • [Fast Campas] 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.
profile
블로그 이전했습니다. -> https://seongwon.dev/

0개의 댓글