📄 reverseiterator.java
字号:
package com.reddragon2046.base.utilities.data.util;
import com.reddragon2046.base.utilities.data.*;
import com.reddragon2046.base.utilities.data.collections.BidirectionalIteratorAdapter;
import java.io.Serializable;
import java.util.*;
public final class ReverseIterator
implements BidirectionalIterator, Serializable
{
public ReverseIterator(List list)
{
this(BidirectionalIteratorAdapter.finishBidirectional(list));
}
public ReverseIterator(BidirectionalIterator iterator)
{
myIterator = iterator;
}
public ReverseIterator(ReverseIterator iterator)
{
myIterator = (BidirectionalIterator)iterator.myIterator.clone();
}
public Object clone()
{
return new ReverseIterator(this);
}
public boolean atEnd()
{
return myIterator.atBegin();
}
public boolean atBegin()
{
return myIterator.atEnd();
}
public boolean equals(Object object)
{
return (object instanceof ReverseIterator) && equals((ReverseIterator)object);
}
public boolean equals(ReverseIterator iterator)
{
return myIterator.equals(iterator.myIterator);
}
public int hashCode()
{
return myIterator.hashCode();
}
public boolean hasNext()
{
return !myIterator.atBegin();
}
public boolean hasPrevious()
{
return !myIterator.atEnd();
}
public void add(Object o)
{
myIterator.add(o);
}
public void set(Object o)
{
myIterator.set(o);
}
public void advance()
{
myIterator.retreat();
}
public void advance(int n)
{
myIterator.retreat(n);
}
public void retreat()
{
myIterator.advance();
}
public void retreat(int n)
{
myIterator.advance(n);
}
public void remove()
{
myIterator.remove();
}
public Object next()
{
myIterator.retreat();
return myIterator.get();
}
public Object previous()
{
myIterator.advance();
return myIterator.get();
}
public int nextIndex()
{
return myIterator.previousIndex();
}
public int previousIndex()
{
return myIterator.nextIndex();
}
public Object get()
{
myIterator.retreat();
Object object = myIterator.get();
myIterator.advance();
return object;
}
public void put(Object object)
{
myIterator.retreat();
myIterator.put(object);
myIterator.advance();
}
public int distance(ForwardIterator iterator)
{
return iterator.distance(this);
}
public Object get(int offset)
{
return myIterator.get(-(offset + 1));
}
public void put(int offset, Object object)
{
myIterator.put(-(offset + 1), object);
}
public Container getContainer()
{
return myIterator.getContainer();
}
public Collection getCollection()
{
return myIterator.getCollection();
}
public boolean isCompatibleWith(InputIterator iterator)
{
return (iterator instanceof ReverseIterator) && myIterator.isCompatibleWith(iterator);
}
public int distance(InputIterator iterator)
{
if(!isCompatibleWith(iterator))
throw new IllegalArgumentException("iterators not compatible");
else
return ((ReverseIterator)iterator).nextIndex() - nextIndex();
}
public int opaqueId()
{
return (com.reddragon2046.base.utilities.data.util.ReverseIterator.class).getName().hashCode();
}
public Object opaqueData()
{
return myIterator.opaqueData();
}
BidirectionalIterator myIterator;
static final long serialVersionUID = 0x387c651775dee5c4L;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -