/*
 * Copyright (C) 2008 The Guava 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 com.google.common.collect;

import com.google.common.annotations.GwtCompatible;
import java.util.Iterator;

An iterator that does not support remove.

UnmodifiableIterator is used primarily in conjunction with implementations of ImmutableCollection, such as ImmutableList. You can, however, convert an existing iterator to an UnmodifiableIterator using Iterators.unmodifiableIterator.

Author:Jared Levy
Since:2.0
/** * An iterator that does not support {@link #remove}. * * <p>{@code UnmodifiableIterator} is used primarily in conjunction with implementations of {@link * ImmutableCollection}, such as {@link ImmutableList}. You can, however, convert an existing * iterator to an {@code UnmodifiableIterator} using {@link Iterators#unmodifiableIterator}. * * @author Jared Levy * @since 2.0 */
@GwtCompatible public abstract class UnmodifiableIterator<E> implements Iterator<E> {
Constructor for use by subclasses.
/** Constructor for use by subclasses. */
protected UnmodifiableIterator() {}
Guaranteed to throw an exception and leave the underlying data unmodified.
Throws:
  • UnsupportedOperationException – always
Deprecated:Unsupported operation.
/** * Guaranteed to throw an exception and leave the underlying data unmodified. * * @throws UnsupportedOperationException always * @deprecated Unsupported operation. */
@Deprecated @Override public final void remove() { throw new UnsupportedOperationException(); } }