Module javafx.base
Package javafx.collections.transformation

## Class SortedList<E>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList<E>
    - - javafx.collections.ObservableListBase<E>
      - - javafx.collections.transformation.TransformationList<E,​E>
        - - javafx.collections.transformation.SortedList<E>

- All Implemented Interfaces:
    `Iterable<E>`, `Collection<E>`, `List<E>`, `Observable`, `ObservableList<E>`

      public final class SortedList<E>
      extends TransformationList<E,​E>

  Wraps an ObservableList and sorts its content. All changes in the ObservableList are propagated immediately to the SortedList. Note: invalid SortedList (as a result of broken comparison) doesn't send any notification to listeners on becoming valid again.
  Since:
    JavaFX 8.0
  See Also:
    `TransformationList`

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `ObjectProperty<Comparator<? super E>>` | `comparator` | The comparator that denotes the order of this SortedList.

  - ### Field Summary

    - ### Fields inherited from class java.util.AbstractList

      `modCount`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SortedList​(ObservableList<? extends E> source)` | Constructs a new unordered SortedList wrapper around the source list.
    `SortedList​(ObservableList<? extends E> source, Comparator<? super E> comparator)` | Creates a new SortedList wrapped around the source list.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectProperty<Comparator<? super E>>` | `comparatorProperty()` | The comparator that denotes the order of this SortedList.
    `E` | `get​(int index)` | Returns the element at the specified position in this list.
    `Comparator<? super E>` | `getComparator()` | Gets the value of the property comparator.
    `int` | `getSourceIndex​(int index)` | Maps the index of this list's element to an index in the direct source list.
    `int` | `getViewIndex​(int index)` | Maps the index of the direct source list's element to an index in this list.
    `void` | `setComparator​(Comparator<? super E> comparator)` | Sets the value of the property comparator.
    `int` | `size()` | Returns the number of elements in this list.
    `protected void` | `sourceChanged​(ListChangeListener.Change<? extends E> c)` | Called when a change from the source is triggered.

    - ### Methods inherited from class javafx.collections.transformation.TransformationList

      `getSource, getSourceIndexFor, isInTransformationChain`

    - ### Methods inherited from class javafx.collections.ObservableListBase

      `addAll, addListener, addListener, beginChange, endChange, fireChange, hasListeners, nextAdd, nextPermutation, nextRemove, nextRemove, nextReplace, nextSet, nextUpdate, remove, removeAll, removeListener, removeListener, retainAll, setAll, setAll`

    - ### Methods inherited from class java.util.AbstractList

      `add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList`

    - ### Methods inherited from class java.util.AbstractCollection

      `addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString`

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

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

    - ### 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, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, sort, spliterator, subList, toArray, toArray`

    - ### Methods inherited from interface javafx.beans.Observable

      `addListener, removeListener`

    - ### Methods inherited from interface javafx.collections.ObservableList

      `addAll, addListener, filtered, remove, removeAll, removeListener, retainAll, setAll, setAll, sorted, sorted`

- - ### Property Detail

    - #### comparator

          public final ObjectProperty<Comparator<? super E>> comparatorProperty

      The comparator that denotes the order of this SortedList. Null for unordered SortedList.
      See Also:
        `getComparator()`, `setComparator(Comparator)`

  - ### Constructor Detail

    - #### SortedList

          public SortedList​(ObservableList<? extends E> source,
                            Comparator<? super E> comparator)

      Creates a new SortedList wrapped around the source list. The source list will be sorted using the comparator provided. If null is provided, the list stays unordered and is equal to the source list.
      Parameters:
        `source` - a list to wrap
        `comparator` - a comparator to use or null for unordered List

    - #### SortedList

          public SortedList​(ObservableList<? extends E> source)

      Constructs a new unordered SortedList wrapper around the source list.
      Parameters:
        `source` - the source list
      See Also:
        `SortedList(javafx.collections.ObservableList, java.util.Comparator)`

  - ### Method Detail

    - #### sourceChanged

          protected void sourceChanged​(ListChangeListener.Change<? extends E> c)

      Description copied from class: `TransformationList`
      Called when a change from the source is triggered.
      Specified by:
        `sourceChanged` in class `TransformationList<E,​E>`
      Parameters:
        `c` - the change

    - #### comparatorProperty

          public final ObjectProperty<Comparator<? super E>> comparatorProperty()

      The comparator that denotes the order of this SortedList. Null for unordered SortedList.
      See Also:
        `getComparator()`, `setComparator(Comparator)`

    - #### getComparator

          public final Comparator<? super E> getComparator()

      Gets the value of the property comparator.
      Property description:
        The comparator that denotes the order of this SortedList. Null for unordered SortedList.

    - #### setComparator

          public final void setComparator​(Comparator<? super E> comparator)

      Sets the value of the property comparator.
      Property description:
        The comparator that denotes the order of this SortedList. Null for unordered SortedList.

    - #### get

          public E get​(int index)

      Returns the element at the specified position in this list.
      Specified by:
        `get` in interface `List<E>`
      Specified by:
        `get` in class `AbstractList<E>`
      Parameters:
        `index` - index of the element to return
      Returns:
        the element at the specified position in this list
      Throws:
        `IndexOutOfBoundsException`

    - #### size

          public int size()

      Returns the number of elements in this list.
      Specified by:
        `size` in interface `Collection<E>`
      Specified by:
        `size` in interface `List<E>`
      Specified by:
        `size` in class `AbstractCollection<E>`
      Returns:
        the number of elements in this list

    - #### getSourceIndex

          public int getSourceIndex​(int index)

      Description copied from class: `TransformationList`
      Maps the index of this list's element to an index in the direct source list.
      Specified by:
        `getSourceIndex` in class `TransformationList<E,​E>`
      Parameters:
        `index` - the index in this list
      Returns:
        the index of the element's origin in the source list
      See Also:
        `TransformationList.getSource()`

    - #### getViewIndex

          public int getViewIndex​(int index)

      Description copied from class: `TransformationList`
      Maps the index of the direct source list's element to an index in this list.
      Specified by:
        `getViewIndex` in class `TransformationList<E,​E>`
      Parameters:
        `index` - the index in the source list
      Returns:
        the index of the element in this list if it is contained in this list or negative value otherwise
      See Also:
        `TransformationList.getSource()`, `TransformationList.getSourceIndex(int)`