All Downloads are FREE. Search and download functionalities are using the official Maven repository.

spring.turbo.util.collection.SingletonIterator Maven / Gradle / Ivy

package spring.turbo.util.collection;

import org.springframework.lang.Nullable;

import java.util.Iterator;
import java.util.NoSuchElementException;

/**
 * 只有单个元素的迭代器
 *
 * @param  元素类型泛型
 * @author 应卓
 * @since 3.3.1
 */
public class SingletonIterator implements Iterator {

    @Nullable
    private T element;

    public SingletonIterator(@Nullable T element) {
        this.element = element;
    }

    public static  SingletonIterator of(@Nullable T element) {
        return new SingletonIterator<>(element);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean hasNext() {
        return element != null;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public T next() {
        if (element != null) {
            var e = element;
            element = null;
            return e;
        } else {
            throw new NoSuchElementException();
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy