** 자기 공부용 및 암기용으로 포스팅하는 글 입니다.
** 정확한 정보는 보장 할 수 없으니, 참고용으로만 봐주시면 감사하겠습니다.
** 제 개인적인 생각 및 자기 암시목적으로 작성되기에 이점 양해 부탁드립니다.
들어가기에 앞서..
어쩌다 보니 포스팅 순서가 뒤죽박죽이 되어버렸다.. lterator는 Collection 인터페이스를 상속받는 List와 Set 인터페이스에서 사용하는 메서드이다.
★ 알아볼 내용
1. iterator 정의
2. iterator 메서드
내용 설명
1. Iterator 정의
Iterator는 사전적 의미로는 반복자라는 뜻이며, 컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할을 한다.
먼저 Collection 인터페이스를 상속 반는 List와 Set 인터페이스를 구현한 클래스로 부터 iterator 값을 받아야 한다.
그렇기 위해서 Collection 인터페이스에서 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 메서드인 iterator()를 정의하여 구할 수 있다.
2. iterator 메서드
iterator 메서드는 3가지가 있다.
메서드 | 설명 |
hasNext() | 읽어올 객체가 남아 있으면, true를 리턴하고, 없으면 false를 리턴합니다. |
next() | 컬렉션에서 하나의 객체를 읽어옵니다. 이때, next()를 호출하기 전에 hasNext를 통해 읽어올 다음 요소가 있는지 먼저 확인해야 합니다. |
remove() | next()를 통해 읽어온 객체를 삭제합니다. next()를 호출한 다음에 remove()를 호출해야 합니다. |
Iterator를 활용하여 컬렉션의 객체를 읽어 올때 next() 메서드를 사용해야 한다.
그리고 next()메서드를 사용하기 전 먼저 가져올 객체가 있는지 hasNext()를 통해 확인하는 것이 좋다.
예제는 아래와 같다.
ArrayList<String> list = ...;
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){ // 다음 객체가 있다면
String str = iterator.next(); // 객체를 읽어오고,
if(str.equals("str과 같은 단어")){ // 조건에 부합한다면
iterator.remove(); // 해당 객체를 컬렉션에서 제거합니다.
}
}
'JAVA 지식 및 공부' 카테고리의 다른 글
[JAVA] Collection - Map (0) | 2024.06.16 |
---|---|
[JAVA] 객체지향 프로그래밍 : 다형성 (1) | 2024.06.11 |
[JAVA] 객체지향 프로그래밍 : 추상화 (0) | 2024.06.10 |
[JAVA] 객체지향 프로그래밍 : 캡슐화 (0) | 2024.06.09 |
[JAVA] 객체지향 프로그래밍 : 상속 (1) | 2024.06.07 |