Package org.eclipse.jgit.util

## Class RefList.Builder<T extends Ref>

- java.lang.Object
- - org.eclipse.jgit.util.RefList.Builder<T>

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 Summary

Constructors
`Builder()` Create an empty list ready for items to be added.
`Builder​(int capacity)` Create an empty list with at least the specified capacity.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add​(T ref)` Add the reference to the end of the array.
`void` `addAll​(Ref[] src, int off, int cnt)` Add all items from a source array.
`T` `get​(int idx)` Get the reference at a particular index.
`void` `remove​(int idx)` Remove an item at a specific index.
`void` `set​(int idx, T ref)` Replace a single existing element.
`int` `size()`
`void` `sort()` Sort the list's backing array in-place.
`RefList<T>` `toRefList()`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### 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.

### 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​(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.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`