private void t() {
myList myList = new myList();
myList.add("one");
myList.add("two");
myList.add("three");
myList.add("four");
Iterator iterator = myList.iterator();
while (iterator.hasNext())
{
Object next = iterator.next();
Log.i(TAG, "t: "+next.toString());
}
}
interface Iterator{
boolean hasNext();
Object next();
}
interface MapList{
int size();
Object get(int i);
void add(Object o);
void remove(Object o);
Iterator iterator();
}
class MapIterator implements Iterator{
MapList list;
int index=-1;
public MapIterator(MapList list) {
this.list = list;
}
@Override
public boolean hasNext() {
return index<list.size();
}
@Override
public Object next() {
return list.get(++index);
}
}
class myList implements MapList{
List<Object> objects=new ArrayList<>();
@Override
public int size() {
return objects.size();
}
@Override
public Object get(int i) {
return objects.get(i);
}
@Override
public void add(Object o) {
objects.add(o);
}
@Override
public void remove(Object o) {
objects.remove(o);
}
@Override
public Iterator iterator() {
return new MapIterator(this);
}
}
android 迭代器模式Iterator
最新推荐文章于 2022-07-11 16:05:17 发布