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

net.openhft.koloboke.collect.CharIterator Maven / Gradle / Ivy

Go to download

Carefully designed and efficient extension of the Java Collections Framework with primitive specializations and more, built for Java 8 (API)

The newest version!
/*
 * Copyright 2014 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.openhft.koloboke.collect;

import net.openhft.koloboke.function.CharConsumer;
import java.util.function.Consumer;

import javax.annotation.Nonnull;
import java.util.Iterator;


/**
 * Primitive specialization of {@link Iterator}<{@link Character}>.
 *
 * 

See the comparison of iteration ways * in the library. * *

Iterators of updatable and immutable collections don't support {@link #remove()} * operation. More about mutability profiles. * * * @see CharCollection#iterator() */ public interface CharIterator extends Iterator { /** * Returns the next {@code char} element in the iteration. This is a primitive specialization * of the {@link #next()} method. * * @return the next {@code char} element in the iteration * @throws java.util.NoSuchElementException if the iteration has no more elements */ char nextChar(); /** * Performs the given action for each remaining element until all elements * have been processed or the action throws an exception. Actions are * performed in the order of iteration, if that order is specified. * Exceptions thrown by the action are relayed to the caller. * * @param action the action to be performed for each element * @deprecated Use specialization {@link #forEachRemaining(CharConsumer)} instead */ @Override @Deprecated void forEachRemaining(@Nonnull Consumer action); /** * Performs the given action for each remaining element until all elements * have been processed or the action throws an exception. Actions are * performed in the order of iteration, if that order is specified. * Exceptions thrown by the action are relayed to the caller. * * @param action the action to be performed for each element */ void forEachRemaining(@Nonnull CharConsumer action); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy