Java 교체기 모드 쉽게 파악
특징:
1. 집합 대상을 서로 다른 방식으로 훑어보는 것을 지원한다.
2. 교체기는 중합류를 간소화했다.
3. 같은 집합에서 여러 번 훑어볼 수 있다.
4. 교체기 모드에서 새로운 집합 클래스와 교체기 클래스를 추가하는 것은 매우 편리하고 기존 코드를 수정할 필요가 없다.
기업급 개발과 상용 프레임워크에서의 응용:java 집합은 모두 교체기를 실현했다
구체적인 사례:
public class Demo {
public static void main(String[] args) {
ActualContainer container = new ActualContainer();
for(int i = 5 ; i < 20 ; i++){
container.add(i);
}
Iterator iterator = container.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
/**
* ,
*/
interface Iterator{
public boolean hasNext();
public Object next();
}
/**
* :
*/
interface Container{
public Iterator iterator();
}
/**
*
* @author jiaoyuyu
*
*/
class ActualContainer implements Container{
private List<Object> list = new ArrayList<>();
public void add(Object obj){
this.list.add(obj);
}
public void remove(Object obj){
this.list.remove(obj);
}
public Object get(int index){
if(index <= (this.list.size() - 1)){
return this.list.get(index);
}
return null;
}
public Iterator iterator() {
return new ActualIterator();
}
private class ActualIterator implements Iterator{
private int pointer = 0;
public boolean hasNext() {
return this.pointer < list.size() ? true : false;
}
public Object next() {
if(this.pointer < list.size()){
Object obj = list.get(pointer);
pointer++;
return obj;
}
return null;
}
}
}
교체기 모드는 비교적 간단한 모드에 속하는데 주로 집합 유형의 대상을 두루 훑어보는 데 쓰인다.이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.