Open Source Collections Libraries in Java
10 projectsTop-ranked projects first.
Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. There are many features, including: * Bag interface for collections that have a number of copies of each object * Buffer interface for collections that have a well defined removal order, like FIFOs * BidiMap interface for maps that can be looked up from value to key as well and key to value * MapIterator interface to provide simple and quick iteration over maps * Type checking decorators to ensure that only instances of a certain type can be added * Transforming decorators that alter each object as it is added to the collection * Composite collections that make multiple collections look like one * Ordered maps and sets that retain the order elements are added in, including an LRU based map * Identity map that compares objects based on their identity (==) instead of the equals method * Reference map that allows keys and/or values to be garbage collected under close control * Many comparator implementations * Many iterator implementations * Adapter classes from array and enumerations to collections * Utilities to test or create typical set-theory properties of collections such as union, intersection, and closure
Apache Jakarta Commons Primitives provides a collection of types and utilities optimized for working with Java primitives (boolean, byte, char, double, float, int, long, short). Generally, the Commons-Primitives classes are smaller, faster and easier to work with than their purely Object based alternatives.
The Google Collections Library is a suite of new collections and collection-related goodness for Java 5.0. This library is a natural extension of the Java Collections Framework. The major new types are: * BiMap. A Map that guarantees unique values, and supports an inverse view. * Multiset. A Collection that may contain duplicate values like a List, yet has order-independent equality like a Set. Often used to represent a histogram. * Multimap. Similar to Map, but may contain duplicate keys. Has subtypes SetMultimap and ListMultimap providing more specific behavior.
The project encompasses a free to use graph library in java. It is released under the GNU LGPL license, so commercial use of the library is allowed. The library uses java 1.6, but modifications to use 1.5 should be minimal.