Package org.eclipse.net4j.util.collection

# Class HashBag<T>

java.lang.Object
org.eclipse.net4j.util.collection.HashBag<T>

All Implemented Interfaces:
  `Iterable<T>`, `Collection<T>`, `Set<T>`

public final class HashBag<T> extends Object implements Set<T>

Author:
  Eike Stepper

## Constructor Summary

Constructors
Constructor
Description
`HashBag()`
`HashBag(int initialCapacity)`
`HashBag(int initialCapacity, float loadFactor)`
`HashBag(Map<? extends T,? extends org.eclipse.net4j.util.collection.HashBag.Counter> m)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`add(T o)`
`boolean`
`add(T o, int count)`
`boolean`
`addAll(Collection<? extends T> c)`
`int`
`addAndGet(T o, int count)`
`void`
`clear()`
`boolean`
`contains(Object o)`
`boolean`
`containsAll(Collection<?> c)`
`int`
`getCounterFor(T o)`
`boolean`
`isEmpty()`
`Iterator<T>`
`iterator()`
`boolean`
`remove(Object o)`
`boolean`
`remove(Object o, int count)`
`boolean`
`removeAll(Collection<?> c)`
`int`
`removeAndGet(Object o, int count)`
`int`
`removeCounterFor(T o)`
`boolean`
`retainAll(Collection<?> c)`
`int`
`size()`
`Object[]`
`toArray()`
`<T> T[]`
`toArray(T[] a)`
`String`
`toString()`

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

`clone, equals, finalize, getClass, hashCode, 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.Set

`equals, hashCode, spliterator`

## Constructor Details

### HashBag

public HashBag()

### HashBag

public HashBag(int initialCapacity, float loadFactor)

### HashBag

public HashBag(int initialCapacity)

### HashBag

public HashBag(Map<? extends T,? extends org.eclipse.net4j.util.collection.HashBag.Counter> m)

## Method Details

### getCounterFor

public int getCounterFor(T o)

Since:
  3.0

### removeCounterFor

public int removeCounterFor(T o)

Since:
  3.7

### add

public boolean add(T o)

Specified by:
  `add` in interface `Collection<T>`
Specified by:
  `add` in interface `Set<T>`

### add

public boolean add(T o, int count)

Since:
  3.4

### addAndGet

public int addAndGet(T o, int count)

Since:
  3.16

### addAll

public boolean addAll(Collection<? extends T> c)

Specified by:
  `addAll` in interface `Collection<T>`
Specified by:
  `addAll` in interface `Set<T>`

### clear

public void clear()

Specified by:
  `clear` in interface `Collection<T>`
Specified by:
  `clear` in interface `Set<T>`

### contains

public boolean contains(Object o)

Specified by:
  `contains` in interface `Collection<T>`
Specified by:
  `contains` in interface `Set<T>`

### containsAll

public boolean containsAll(Collection<?> c)

Specified by:
  `containsAll` in interface `Collection<T>`
Specified by:
  `containsAll` in interface `Set<T>`

### isEmpty

public boolean isEmpty()

Specified by:
  `isEmpty` in interface `Collection<T>`
Specified by:
  `isEmpty` in interface `Set<T>`

### iterator

public Iterator<T> iterator()

Specified by:
  `iterator` in interface `Collection<T>`
Specified by:
  `iterator` in interface `Iterable<T>`
Specified by:
  `iterator` in interface `Set<T>`

### remove

public boolean remove(Object o)

Specified by:
  `remove` in interface `Collection<T>`
Specified by:
  `remove` in interface `Set<T>`

### remove

public boolean remove(Object o, int count)

Since:
  3.4

### removeAndGet

public int removeAndGet(Object o, int count)

Since:
  3.16

### removeAll

public boolean removeAll(Collection<?> c)

Specified by:
  `removeAll` in interface `Collection<T>`
Specified by:
  `removeAll` in interface `Set<T>`

### retainAll

public boolean retainAll(Collection<?> c)

Specified by:
  `retainAll` in interface `Collection<T>`
Specified by:
  `retainAll` in interface `Set<T>`

### size

public int size()

Specified by:
  `size` in interface `Collection<T>`
Specified by:
  `size` in interface `Set<T>`

### toArray

public Object[] toArray()

Specified by:
  `toArray` in interface `Collection<T>`
Specified by:
  `toArray` in interface `Set<T>`

### toArray

public <T> T[] toArray(T[] a)

Specified by:
  `toArray` in interface `Collection<T>`
Specified by:
  `toArray` in interface `Set<T>`

### toString

public String toString()

Overrides:
  `toString` in class `Object`