Class RefList.Builder<T extends Ref>

  • Type Parameters:
    T - type of reference being stored.
    Enclosing class:
    RefList<T extends Ref>

    public static class RefList.Builder<T extends Ref>
    extends Object
    Builder to facilitate fast construction of an immutable RefList.
    • Constructor Detail

      • Builder

        public Builder()
        Create an empty list ready for items to be added.
      • Builder

        public Builder​(int capacity)
        Create an empty list with at least the specified capacity.
        Parameters:
        capacity - the new capacity; if zero or negative, behavior is the same as Builder().
    • Method Detail

      • size

        public int size()
        Returns:
        number of items in this builder's internal collection.
      • get

        public T get​(int idx)
        Get the reference at a particular index.
        Parameters:
        idx - the index to obtain. Must be 0 <= idx < size().
        Returns:
        the reference value, never null.
      • remove

        public void remove​(int idx)
        Remove an item at a specific index.
        Parameters:
        idx - position to remove the item from.
      • add

        public void add​(T ref)
        Add the reference to the end of the array.

        References must be added in sort order, or the array must be sorted after additions are complete using sort().

        Parameters:
        ref -
      • addAll

        public void addAll​(RefList.Builder other)
        Add all items from another builder.
        Parameters:
        other -
        Since:
        5.4
      • addAll

        public void addAll​(Ref[] src,
                           int off,
                           int cnt)
        Add all items from a source array.

        References must be added in sort order, or the array must be sorted after additions are complete using sort().

        Parameters:
        src - the source array.
        off - position within src to start copying from.
        cnt - number of items to copy from src.
      • set

        public void set​(int idx,
                        T ref)
        Replace a single existing element.
        Parameters:
        idx - index, must have already been added previously.
        ref - the new reference.
      • sort

        public void sort()
        Sort the list's backing array in-place.
      • toRefList

        public RefList<T> toRefList()
        Returns:
        an unmodifiable list using this collection's backing array.