Module javafx.base
Package javafx.collections

# Interface ObservableSet<E>

All Superinterfaces:
  `Collection<E>`, `Iterable<E>`, `Observable`, `Set<E>`

All Known Subinterfaces:
  `ObservableSetValue<E>`, `WritableSetValue<E>`

All Known Implementing Classes:
  `ReadOnlySetProperty`, `ReadOnlySetPropertyBase`, `ReadOnlySetWrapper`, `SetBinding`, `SetExpression`, `SetProperty`, `SetPropertyBase`, `SimpleSetProperty`

    public interface ObservableSet<E>
    extends Set<E>, Observable

A set that allows observers to track changes when they occur.

Since:
  JavaFX 2.1
See Also:
  `SetChangeListener`, `SetChangeListener.Change`

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addListener​(SetChangeListener<? super E> listener)` | Add a listener to this observable set.
  `void` | `removeListener​(SetChangeListener<? super E> listener)` | Tries to removed a listener from this observable set.

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

  `parallelStream, removeIf, stream, toArray`

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

  `forEach`

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

  `addListener, removeListener`

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

  `add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray`

- ## Method Details

  - ### addListener

    void addListener​(SetChangeListener<? super E> listener)
    Add a listener to this observable set.
    Parameters:
      `listener` - the listener for listening to the set changes

  - ### removeListener

    void removeListener​(SetChangeListener<? super E> listener)
    Tries to removed a listener from this observable set. If the listener is not attached to this list, nothing happens.
    Parameters:
      `listener` - a listener to remove