프로그래밍
[Java]Iterator란?
재은이
2022. 2. 22. 11:39
728x90
반응형
Iterator 정의
Iterator는 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료 구조의 내부의 요소를 순회(traversing)하는 객체이다. 자바의 컬렉션 프레임웍에서 컬렉션에 저장되어있는 요소들을 읽어오는 방법을 표준화 하였는데 그 중 하나가 Iterator이다.
인터페이스 Iterator의 구조
public interface Iterator{
boolean hasNext();
Object next();
void remove();
}
boolean hasNext() : 읽어올 요소가 남아있나 확인. true,false
Object next() : 다음 데이터를 반환.
void remove() : next()로 읽어온 요소를 삭제.
호출순서는 hasNext() -> next() -> remove() 순서 이다.
Iterator 특징
Iterator는 자동으로 index를 관리해주기 때문에 사용에 편리함이 있을 수 있으나
Iterator를 열어보면 객체를 만들어 사용하기 때문에 느릴수 밖에 없다.
그러므로 list의 size를 받아와서 사용하는 것이 더 좋다.
업무예제
CommonMap MapChk = DAO.getNullChk(paramMap); //select한 데이터를 map에 담음
Iterator<String> key = MapChk.keySet().iterator(); //keySet()으로 키값만 출력
while (key.hasNext()) { //true, false
String key = key.next(); //다음데이터 반환
Object value = MapChk.get(key); //MapChk데이터에서 key값에 해당하는 값
String strVal = String.valueOf(value); //value가 null이면 문자열 "null"을 만들어서 반환.
if(!"0".equals(strVal)) { //strVal이 널이 아니면
CommonMap Map = DAO.getAttr(paramMap); //map에 select한 데이터 넣기
Map.put("crdType", "C");
Map.put("interfaceId", "CUST");
Map.put("keyCode", "keyCode");
DAO.setAttr(eaiCustMap); //인터페이스 테이블 등록
break;
}
}
728x90
반응형