📄 monktang.java
字号:
package com.javapatterns.iterator.monkey;
import java.util.Vector;
import java.util.Iterator;
import java.util.ListIterator;
import com.javapatterns.iterator.vecterator1.*;
public class MonkTang
{
/**
* @link aggregation
* @directed
*/
private static Vector desciples;
/**
* @link aggregation
* @directed
* @clientCardinality 1
* @supplierCardinality *
*/
private Desciple lnkDesciple;
public static void main(String[] args)
{
desciples = new Vector(3);
Desciple monkey = new Monkey();
Desciple pigsy = new Pigsy();
Desciple sandy = new Sandy();
desciples.add(monkey);
desciples.add(pigsy);
desciples.add(sandy);
System.out.println("The following is from polymorphic iterator");
listPolymorphic();
System.out.println("The following is from concrete iterator");
listConcrete();
System.out.println("The above are also external iterators");
System.out.println("The follwoing is from internal iterator");
listInternal();
System.out.println("The follwoing from robust iterator");
listRobust();
}
private static void listPolymorphic()
{
Desciple desciple ;
Iterator it = desciples.iterator();
while(it.hasNext())
{
desciple = (Desciple) it.next();
desciple.speak();
}
}
private static void listConcrete()
{
Desciple desciple ;
Vecterator vect = new Vecterator(desciples);
while(vect.hasNext())
{
desciple = (Desciple) vect.next();
desciple.speak();
}
}
private static void listInternal()
{
Desciple desciple ;
for(int i = 0 ; i < desciples.size() ; i++)
{
desciple = (Desciple) desciples.elementAt(i);
desciple.speak();
}
}
private static void listRobust()
{
Desciple desciple ;
ListIterator it = desciples.listIterator();
while(it.hasNext())
{
desciple = (Desciple) it.next();
if (desciple instanceof Monkey )
{
it.remove();
it.next();
it.add(new Horse());
it.previous();
}
desciple.speak();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -