bidirectionaliteratoradapter.java

来自「java 的源代码」· Java 代码 · 共 63 行

JAVA
63
字号
package com.reddragon2046.base.utilities.data.collections;

import com.reddragon2046.base.utilities.data.BidirectionalIterator;
import com.reddragon2046.base.utilities.data.ForwardIterator;
import java.util.List;

// Referenced classes of package com.reddragon2046.base.utilities.data.collections:
//            IndexBasedBidirectionalIterator, IListIterationState, ListIterationState, IndexBasedForwardIterator,
//            AbstractIndexBasedIterator

public class BidirectionalIteratorAdapter extends IndexBasedBidirectionalIterator
    implements BidirectionalIterator
{

    protected BidirectionalIteratorAdapter(IListIterationState data)
    {
        super(data);
    }

    public static ForwardIterator start(List list)
    {
        return startBidirectional(list);
    }

    public static ForwardIterator finish(List list)
    {
        return finishBidirectional(list);
    }

    public static BidirectionalIterator startBidirectional(List list)
    {
        return new BidirectionalIteratorAdapter(ListIterationState.createStart(list));
    }

    public static BidirectionalIterator finishBidirectional(List list)
    {
        return new BidirectionalIteratorAdapter(ListIterationState.createFinish(list));
    }

    public static BidirectionalIteratorAdapter atIndexBidirectional(List list, int index)
    {
        return new BidirectionalIteratorAdapter(ListIterationState.createWithIndex(list, index));
    }

    public Object clone()
    {
        IListIterationState clonedState = (IListIterationState)getListIterationState().clone();
        return new BidirectionalIteratorAdapter(clonedState);
    }

    public boolean equals(Object object)
    {
        if(object instanceof BidirectionalIteratorAdapter)
        {
            BidirectionalIteratorAdapter other = (BidirectionalIteratorAdapter)object;
            return other.getInternalIndex() == getInternalIndex() && other.getCollection() == getCollection();
        } else
        {
            return false;
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?