Design patterns
반복자 패턴
수색…
반복자 패턴
컬렉션은 소프트웨어 엔지니어링에서 가장 일반적으로 사용되는 데이터 구조 중 하나입니다. 컬렉션은 객체의 그룹 일뿐입니다. 컬렉션은 List, 배열,지도, 트리 또는 기타 항목 일 수 있습니다. 따라서 컬렉션은 내부 구조를 노출시키지 않고 요소에 액세스 할 수있는 방법을 제공해야합니다. 우리는 수집 유형에 상관없이 동일한 방식으로 그것을 통과 할 수 있어야합니다.
반복자 패턴 아이디어는 컬렉션의 객체에 액세스하여 반복자 객체에 넣는 책임을 맡는 것입니다. 돌아온 iterator 객체는 반복 순서를 유지하고 현재 항목을 추적하며 다음 요소를 가져 오는 방법이 있어야합니다.
보통, 콜렉션 클래스는 클래스 자체와 Iterator
의 두 가지 컴포넌트를 가지고있다.
public interface Iterator {
public boolean hasNext();
public Object next();
}
public class FruitsList {
public String fruits[] = {"Banana", "Apple", "Pear", "Peach", "Blueberry"};
public Iterator getIterator() {
return new FruitIterator();
}
private class FruitIterator implements Iterator {
int index;
@Override
public boolean hasNext() {
return index < fruits.length;
}
@Override
public Object next() {
if(this.hasNext()) {
return names[index++];
}
return null;
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow