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

com.fasterxml.jackson.databind.util.ArrayIterator Maven / Gradle / Ivy

Go to download

Easy Redis Java client and Real-Time Data Platform. Valkey compatible. Sync/Async/RxJava3/Reactive API. Client side caching. Over 50 Redis based Java objects and services: JCache API, Apache Tomcat, Hibernate, Spring, Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Scheduler, RPC

There is a newer version: 3.40.2
Show newest version
package com.fasterxml.jackson.databind.util;

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

/**
 * Iterator implementation used to efficiently expose contents of an
 * Array as read-only iterator.
 */
@SuppressWarnings("IterableAndIterator") // only used internally, not exposed via API
public class ArrayIterator implements Iterator, Iterable // lgtm [java/iterator-implements-iterable]
{
    private final T[] _a;

    private int _index;

    public ArrayIterator(T[] a) {
        _a = a;
        _index = 0;
    }

    @Override
    public boolean hasNext() { return _index < _a.length; }

    @Override
    public T next() {
        if (_index >= _a.length) {
            throw new NoSuchElementException();
        }
        return _a[_index++];
    }

    @Override public void remove() { throw new UnsupportedOperationException(); }
    @Override public Iterator iterator() { return this; }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy