## Package org.apache.commons.collections.bag

This package contains implementations of the `Bag` and `SortedBag` interfaces.

See:
Description

Class Summary
AbstractBagDecorator: Decorates another `Bag` to provide additional behaviour.
AbstractMapBag: Abstract implementation of the `Bag` interface to simplify the creation of subclass implementations.
AbstractMapBag.MutableInteger: Mutable integer class for storing the data.
AbstractSortedBagDecorator: Decorates another `SortedBag` to provide additional behaviour.
HashBag: Implements `Bag`, using a `HashMap` to provide the data storage.
PredicatedBag: Decorates another `Bag` to validate that additions match a specified predicate.
PredicatedSortedBag: Decorates another `SortedBag` to validate that additions match a specified predicate.
SynchronizedBag: Decorates another `Bag` to synchronize its behaviour for a multi-threaded environment.
SynchronizedSortedBag: Decorates another `SortedBag` to synchronize its behaviour for a multi-threaded environment.
TransformedBag: Decorates another `Bag` to transform objects that are added.
TransformedSortedBag: Decorates another `SortedBag` to transform objects that are added.
TreeBag: Implements `SortedBag`, using a `TreeMap` to provide the data storage.
TypedBag: Decorates another `Bag` to validate that elements added are of a specific type.
TypedSortedBag: Decorates another `SortedBag` to validate that elements added are of a specific type.
UnmodifiableBag: Decorates another `Bag` to ensure it can't be altered.
UnmodifiableSortedBag: Decorates another `SortedBag` to ensure it can't be altered.

## Package org.apache.commons.collections.bag Description

This package contains implementations of the `Bag` and `SortedBag` interfaces. A bag stores an object and a count of the number of occurences of the object.

The following implementations are provided in the package:

- HashBag - implementation that uses a HashMap to store the data
- TreeBag - implementation that uses a TreeMap to store the data

The following decorators are provided in the package:

- Synchronized - synchronizes method access for multi-threaded environments
- Unmodifiable - ensures the bag cannot be altered
- Predicated - ensures that only elements that are valid according to a predicate can be added
- Typed - ensures that only elements that are of a specific type can be added
- Transformed - transforms each element added to the bag

Copyright © 2001-2005 Apache Software Foundation. All Rights Reserved.