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