반응형
이전 포스팅에서 List, Set, Map 에 대해서 다룬 글이 있다.
자세한 사항은 참고 포스팅 참고 바란다.
포스팅에서는 이 컬렉션 프레임워크(Collection Framework) 들에서 공통으로 사용할수 있는 클래스를 설명하려 한다.
Util 하위에 있는 Iterator 이다.
사용법은 간단하다.
아래 예시코드로 바로 설명하면
public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); HashSet<String> set = new HashSet<String>(); set.add("A"); set.add("B"); set.add("C"); HashMap<String,String> map = new HashMap<String,String>(); map.put("A","1"); map.put("B","2"); map.put("C","3"); Iterator<String> iterList = list.iterator(); Iterator<String> iterSet = set.iterator(); Iterator<String> iterMap = map.keySet().iterator(); while(iterList.hasNext()) { System.out.println(iterList.next()); } while(iterSet.hasNext()) { System.out.println(iterSet.next()); } while(iterMap.hasNext()) { System.out.println(iterMap.next()); } } |
일단 각각 List, Set, Map을 만들었고 Iterator 를 각각 선언 후에 while 반복문에서 값을 하나씩 읽어서 출력하는 코드이다.
장점으로는 위 3개에 추가로 Queue 등등 컬렉션프레임워크에서 동일하게 사용이 가능하다.
단점으로는
1. 처음부터 끝까지의 단방향 반복만 가능
2. 값을 변경하거나 추가가 불가능
3. 대량의 데이터를 제어할 때 속도가 느림
등이 있다.
사용은 총 3개의 메서드만 알면 되기에 간단하다.
Iterator.hasNext()
- Iterator 안에 다음 값이 들어있는지 확인 (있으면 true, 없으면 false)
주로 while 조건으로 사용한다.
Iterator.next()
- iterator의 다음 값 가져오기
주로 값을 가져오는 부분에서 사용한다.
Iterator.remove()
- iterator에서 next() 시에 가져왔던 값을 컬렉션(List, Set, Map) 등에서 삭제시 사용
반드시 next() 후에 사용해야 한다.
참고 포스팅
https://thenicesj.tistory.com/282
반응형
'IT > Java' 카테고리의 다른 글
Inner Class(이너클래스, 내부클래스) (33) | 2023.09.24 |
---|---|
@Resource 관련 (58) | 2023.09.22 |
@ExceptionHandler 와 @ControllerAdvice 예외 처리하기 (39) | 2023.09.19 |
[JPA] @OneToMany , @ManyToOne (61) | 2023.09.18 |
파일읽기 쓰기 (FileInputStream, FileOutputStream) (37) | 2023.09.16 |
댓글