Interface ListIndex<T>

Type Parameters:
T - the type of elements in this list
All Superinterfaces:
Iterable<T>, StorageIndex
All Known Implementing Classes:
ListIndexProxy, ProofListIndexProxy

public interface ListIndex<T>
extends StorageIndex, Iterable<T>
A list index proxy is a contiguous list of elements.

The "destructive" methods of the list, i.e., those that change its contents, are specified to throw UnsupportedOperationException if this list has been created with a read-only database view.

When the corresponding view goes out of scope, this list is destroyed. Subsequent use of the closed list is prohibited and will result in IllegalStateException.

This interface prohibits null elements. All method arguments are non-null by default.

  • Method Summary

    Modifier and Type Method Description
    void add​(T e)
    Adds a new element to the end of the list.
    void addAll​(Collection<? extends T> elements)
    Adds all elements from the specified collection to this list.
    void clear()
    Clears the list.
    T get​(long index)
    Returns the element at the given index.
    T getLast()
    Returns the last element of the list.
    boolean isEmpty()
    Returns true if the list is empty, false — otherwise.
    Iterator<T> iterator()
    Returns an iterator over the elements of the list.
    T removeLast()
    Removes the last element of the list and returns it.
    void set​(long index, T e)
    Replaces the element at the given index of the list with the specified element.
    long size()
    Returns the number of elements in the list.
    Stream<T> stream()
    Returns a stream of elements in this list.
    void truncate​(long newSize)
    Truncates the list, reducing its size to newSize.

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator

    Methods inherited from interface com.exonum.binding.core.storage.indices.StorageIndex

    getAddress, getName