Package com.google.protobuf

# Interface Internal.ProtobufList<E>

All Superinterfaces:
  `Collection<E>`, `Iterable<E>`, `List<E>`, `RandomAccess`

All Known Subinterfaces:
  `Internal.BooleanList`, `Internal.DoubleList`, `Internal.FloatList`, `Internal.IntList`, `Internal.LongList`

All Known Implementing Classes:
  `LazyStringArrayList`

Enclosing class:
  Internal

public static interface Internal.ProtobufList<E> extends List<E>, RandomAccess
Extends `List` to add the capability to make the list immutable and inspect if it is modifiable.

All implementations must support efficient random access.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isModifiable()`
Returns whether this list can be modified via the publicly accessible `List` methods.
`void`
`makeImmutable()`
Makes this list immutable.
`Internal.ProtobufList<E>`
`mutableCopyWithCapacity(int capacity)`
Returns a mutable clone of this list with the specified capacity.

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, stream, toArray`

### Methods inherited from interface java.lang.Iterable

`forEach`

### Methods inherited from interface java.util.List

`add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray`

## Method Details

### makeImmutable

void makeImmutable()
Makes this list immutable. All subsequent modifications will throw an `UnsupportedOperationException`.

### isModifiable

boolean isModifiable()
Returns whether this list can be modified via the publicly accessible `List` methods.

### mutableCopyWithCapacity

Internal.ProtobufList<E> mutableCopyWithCapacity(int capacity)
Returns a mutable clone of this list with the specified capacity.