⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iteratoriterator.java

📁 java 的源代码
💻 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 + -