본문 바로가기
언어/JAVA

Iterator

by step 1 2021. 5. 2.
반응형

Collection 요소를 순회하는 Iterator

 

요소의 순회

  • 컬렉션 프레임워크에 저장된 요소들을 하나씩 차례로 참조하는 것
  • 순서가 있는 List인터페이스의 경우는 Iterator를 사용 하지 않고 get(i) 메서드를 활용할 수 있음
  • Set 인터페이스의 경우 get(i) 메서드가 제공되지 않으므로 Iterator를 활용하여 객체를 순회함

Iterator 사용하기

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

MemberArrayList.java의 removeMember() 메서드를 Iterator를 활용하여 구현

 

public boolean removeMember(int memberId) {
		/*
		for (int i = 0; i < arrayList.size(); i++) {
			Member member = arrayList.get(i);
			
			//int tempId = member.getMemberId();
			
			if (member.getMemberId() == memberId) {
				arrayList.remove(i);
				return true;
			}
		}*/
		
		Iterator<Member> ir = arrayList.iterator();
		
		while(ir.hasNext()) {
			Member member = ir.next();
			
			if (member.getMemberId() == memberId) {
				arrayList.remove(member);
				return true;
			}
		}
		System.out.println(memberId + "가 존재하지 않습니다");
		return false;
	}
반응형

'언어 > JAVA' 카테고리의 다른 글

Comparable, Comparator 인터페이스  (0) 2021.05.02
Set 인터페이스  (0) 2021.05.02
List 인터페이스  (0) 2021.05.02
자바에서 제공되는 자료구조 구현 클래스들 - 컬렉션 프레임워크  (0) 2021.05.02
제네릭 메서드  (0) 2021.05.02