collectioniterationstate.java

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

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

import com.reddragon2046.base.utilities.data.InputIterator;
import com.reddragon2046.base.utilities.data.util.IteratorFactory;
import java.util.*;

// Referenced classes of package com.reddragon2046.base.utilities.data.collections:
//            AbstractIterationState

class CollectionIterationState extends AbstractIterationState
{

    public static CollectionIterationState createStart(Collection c)
    {
        return new CollectionIterationState(c, c.iterator(), 0);
    }

    public static CollectionIterationState createFinish(Collection c)
    {
        return new CollectionIterationState(c, null, c.size());
    }

    public static CollectionIterationState createWithIndex(List list, int index)
    {
        return new CollectionIterationState(list, list.listIterator(index), index);
    }

    private CollectionIterationState(Collection collection, Iterator iterator, int index)
    {
        super(collection, iterator, index);
        m_collection = collection;
        m_iterator = iterator;
    }

    protected CollectionIterationState(CollectionIterationState other)
    {
        super(other);
        m_collection = other.m_collection;
        InputIterator iter = IteratorFactory.start(m_collection);
        iter.advance(other.getIndex() + 1);
        m_iterator = iter;
    }

    public Object clone()
    {
        return new CollectionIterationState(this);
    }

    public String toString()
    {
        return "{ " + m_collection + ", " + super.toString() + " }";
    }

    public Collection getCollection()
    {
        return m_collection;
    }

    public Iterator getIterator()
    {
        return m_iterator;
    }

    public ListIterator getListIterator()
    {
        throw new UnsupportedOperationException();
    }

    private Collection m_collection;
    private Iterator m_iterator;
}

⌨️ 快捷键说明

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