📄 iteratoriterator.java
字号:
package com.reddragon2046.base.utilities.data.algorithms;
import com.reddragon2046.base.utilities.data.*;
import java.util.Collection;
import java.util.Iterator;
class IteratorIterator
implements ForwardIterator
{
IteratorIterator(ForwardIterator iterator, Container container)
{
this.iterator = iterator;
this.container = container;
}
public void advance()
{
iterator.advance();
}
public void advance(int n)
{
iterator.advance(n);
}
public int distance(InputIterator i)
{
if(i instanceof IteratorIterator)
return iterator.distance(((IteratorIterator)i).iterator);
else
return iterator.hasNext() ? ((ForwardIterator)iterator.get()).distance(i) : container.finish().distance(i);
}
public Object clone()
{
return new IteratorIterator((ForwardIterator)iterator.clone(), container);
}
public Container getContainer()
{
return container;
}
public Collection getCollection()
{
return container;
}
public boolean isCompatibleWith(InputIterator i)
{
return (i instanceof ForwardIterator) && container == ((ForwardIterator)i).getContainer();
}
public boolean atBegin()
{
return iterator.atBegin();
}
public boolean atEnd()
{
return iterator.atEnd();
}
public Object get()
{
return ((ForwardIterator)iterator.get()).get();
}
public Object get(int n)
{
return ((ForwardIterator)iterator.get()).get(n);
}
public void put(Object object)
{
((ForwardIterator)iterator.get()).put(object);
}
public void put(int n, Object object)
{
((ForwardIterator)iterator.get()).put(n, object);
}
public boolean equals(Object object)
{
return (object instanceof IteratorIterator) && equals((IteratorIterator)object);
}
public boolean equals(IteratorIterator iterator)
{
return this.iterator.equals(iterator.iterator);
}
public int hashCode()
{
return iterator.hashCode();
}
public boolean hasMoreElements()
{
return hasNext();
}
public boolean hasNext()
{
return !atEnd();
}
public Object nextElement()
{
return next();
}
public Object next()
{
Object object = get();
advance();
return object;
}
public void remove()
{
iterator.remove();
}
public int opaqueId()
{
return (com.reddragon2046.base.utilities.data.algorithms.IteratorIterator.class).getName().hashCode();
}
public Object opaqueData()
{
return iterator.opaqueData();
}
private ForwardIterator iterator;
private Container container;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -