반응형
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 |