교체기 모드[Iterator Pattern]
2380 단어 iterator
interface Iproduct
{
public void Add(String Name);
public String GetProductInfo();
public IproductIterator iterator();
}
interface IproductIterator extends Iterator
{
}
class productIterator implements IproductIterator
{
private ArrayList<Iproduct> productList = new ArrayList<Iproduct>();
private int currentItem = 0;
public boolean hasNext()
{
boolean b = true;
if(currentItem >= productList.size() ||productList.get(currentItem) == null )
{
b = false;
}
return b;
}
public void remove()
{
}
public productIterator(ArrayList<Iproduct> list)
{
productList = list;
}
public Iproduct next()
{
return (Iproduct)this.productList.get(this.currentItem++);
}
}
class Product implements Iproduct
{
private ArrayList<Iproduct> projectList = new ArrayList<Iproduct>();
private String _name = "";
private Product(String name)
{
_name = name;
}
public Product()
{}
public void Add(String name)
{
this.projectList.add(new Product(name) );
}
public String GetProductInfo()
{
String info = "";
return " :"+_name;
}
public IproductIterator iterator()
{
return new productIterator(projectList);
}
}
class design_Pattern_Iterator_Pattern_Client
{
public void design_Pattern_Iterator_Pattern_Client_Test()
{
Iproduct pro = new Product();
pro.Add("pro1");
pro.Add("pro2");
pro.Add("pro3");
pro.Add("pro4");
for (int i=0;i<100 ;i++ )
{
pro.Add("Product"+i);
}
IproductIterator iter = pro.iterator();
while (iter.hasNext())
{
Iproduct p = (Product)iter.next();
System.out.println(p.GetProductInfo());
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 집합 Iterator 교체의 실현 방법이것은 각종 용기 안의 모든 대상을 표준화하는 방법류이고 이것은 매우 전형적인 디자인 모델이다.Iterator 모드는 집합 클래스를 훑어보는 데 사용되는 표준 접근 방법입니다.그것은 접근 논리를 서로 다른 유형의 집...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.