일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코드스테이츠 부트캠프
- 코드 스테이츠 백엔드 교육과정
- 코드스테이츠 부트캠프 합격 후기
- HLB
- 에이치엘비
- 메서드
- 백내장 금감원
- 백내장
- 자바
- 코테 합격후기
- 코드스테이츠 합격
- 금융감독원
- 보험금 지급거절
- 겜스고
- Java
- 금감원
- 백내장 다초점렌즈 삽입술
- Spring
- Code States 백엔드 합격 후기
- 백준 알고리즘
- 코드스테이츠 백엔드 후기
- Gamsgo
- 코드스테이츠 합격 후기
- codestates 국비지원 1기 합격 후기
- 금융감독원 민원신청
- 해시
- 코드스테이츠 백엔드 부트캠프 합격
- CodeState 후기
- 코드스테이츠 백엔드 교육과정
- 금감원 백내장 민원
Archives
- Today
- Total
개발하는 동그리
[Java] Iterator 인터페이스 본문
반응형
Iterator
자바의 컬렉션 프레임워크에서 컬렉션에 저장되어있는 요소들을 읽어오는 방법을 Iterator 인터페이스로 표준화 했다.
컬렉션 프레임워크는 아래 그림과 같이 데이터를 저장하는 구조에 따라 3가지 인터페이스로 구성된다.
List는 순서를 유지하는 데이터 집합이다. 따라서 중복이 허용된다.
Set 은 순서를 유지하지 않는 데이터 집합이다. 따라서 중복을 허용하지 않는다.
Map은 키(key)와 값(Value)로 이루어진 데이터 집합으로 순서는 유지되지 않으며, 키값은 중복을 허락하지 않는다.
이 3가지 데이터 집합체(Set, List , Map) 에서 정보를 얻어내기 위한것이 Iterator다.
집합체를 다룰때는 개별적인 클래스에 대해 데이터를 읽는 방법을 알아야 하기 때문에 각 컬렉션에 접근이 힘들어지기 때문에, Iterator를 사용하면 그 집합체 안에있는 항복들에 접근할 수 있는 방법을 제공한다. (다형성)
Iterator 의 메소드에는 hasNext(), next(), remove()가 있다.
hasNext() : 읽어올 요소가 있으면 true, 없으면 false
next() : 컬렉션에서 하나의 객체를 가져온다.
remove() : 컬렉션에서 객체를 제거한다.
예시1).요소 확인 후 객체 반복해서 꺼내는 방법.
List list = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()) // 다음 객체 유무 확인
System.out.println(it.next()); // 출력
예시2).강화된 for문을 사용해서 객체 꺼내는 방법
List<String> list = ...;
for(String str : list) {
// 저장된 객체 수만큼 반복
}
예시3).같은 객체가 있으면 찾아서 삭제하는 방법
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){ //다음 객체 유무 확인
String nn = iterator.next(); // 객체 꺼내기
if(nn.equals("nn")){ / 꺼낸 객체와 비교 후
iterator.remove(); //해당 객체 제거
}
}
위와 같은 식으로 사용하면 된다.
반응형
'IT 정보 > Java' 카테고리의 다른 글
[Java] Collection Framwork (List편) (8) | 2022.05.18 |
---|---|
[Java] 내부 클래스(Inner class) (10) | 2022.05.18 |
[Java]컬렉션 프레임워크 Comparator & Comparable (15) | 2022.05.16 |
[Java]컬렉션(Collection Framework) (10) | 2022.05.16 |
[Java]제네릭(Generic) (3) | 2022.05.16 |