## org.apache.lucene.util
Class MapBackedSet<E>

    java.lang.Object
      java.util.AbstractCollection<E>
          java.util.AbstractSet<E>
              org.apache.lucene.util.MapBackedSet<E>

All Implemented Interfaces:
  Serializable, Iterable<E>, Collection<E>, Set<E>

    public final class MapBackedSet<E>

extends AbstractSet<E>
implements Serializable

A Set implementation that wraps an actual Map based implementation.

See Also:
  Serialized Form
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
  This class is only provided with Lucene, as Java 5 does not yet support `<E> Set<E> Collections.newSetFromMap(Map<E,Boolean>)`. It will be removed in Lucene 4.

Constructor Summary
`MapBackedSet(Map<E,Boolean> map)` Creates a new instance which wraps the specified `map`.

Method Summary
`boolean` `add(E o)`
`void` `clear()`
`boolean` `contains(Object o)`
`Iterator<E>` `iterator()`
`boolean` `remove(Object o)`
`int` `size()`

Methods inherited from class java.util.AbstractSet
`equals, hashCode, removeAll`

Methods inherited from class java.util.AbstractCollection
`addAll, containsAll, isEmpty, 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.Set
`addAll, containsAll, isEmpty, retainAll, toArray, toArray`

Constructor Detail

### MapBackedSet

    public MapBackedSet(Map<E,Boolean> map)

  Creates a new instance which wraps the specified `map`.

Method Detail

### size

    public int size()

  Specified by:
    `size` in interface `Collection<E>`
  Specified by:
    `size` in interface `Set<E>`
  Specified by:
    `size` in class `AbstractCollection<E>`

### contains

    public boolean contains(Object o)

  Specified by:
    `contains` in interface `Collection<E>`
  Specified by:
    `contains` in interface `Set<E>`
  Overrides:
    `contains` in class `AbstractCollection<E>`

### add

    public boolean add(E o)

  Specified by:
    `add` in interface `Collection<E>`
  Specified by:
    `add` in interface `Set<E>`
  Overrides:
    `add` in class `AbstractCollection<E>`

### remove

    public boolean remove(Object o)

  Specified by:
    `remove` in interface `Collection<E>`
  Specified by:
    `remove` in interface `Set<E>`
  Overrides:
    `remove` in class `AbstractCollection<E>`

### clear

    public void clear()

  Specified by:
    `clear` in interface `Collection<E>`
  Specified by:
    `clear` in interface `Set<E>`
  Overrides:
    `clear` in class `AbstractCollection<E>`

### iterator

    public Iterator<E> iterator()

  Specified by:
    `iterator` in interface `Iterable<E>`
  Specified by:
    `iterator` in interface `Collection<E>`
  Specified by:
    `iterator` in interface `Set<E>`
  Specified by:
    `iterator` in class `AbstractCollection<E>`