Apache Commons - Alternative to Java collection
Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities.
- 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
http://commons.apache.org/collections/
comments powered by Disqus
Related Products
google-collections
The Google Collections Library 1.0 is a set of new collection types, implementations and related goodness for Java 5 and higher, brought to you by Google. It is a natural extension of the Java Collections Framework.
high-scale-lib
A collection of Concurrent and Highly Scalable Utilities. These are intended as direct replacements for the java.util.* or java.util.concurrent.* collections but with better performance when many CPUs are using the collection concurrently.
Fastutil - Fast & compact type-specific collections for Java
Fastutil extends the Java Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion. It also provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files.
Guava - Google Core Libraries for Java
The Google Guava Libraries are a nice set of Java utility classes that will probably come in handy in any project. It provides immutable collections, string manipulation, handling primitives ,easier I/O, concurrency etc. it absolutely follows the Collections API requirements.
Trove - High performance collections for Java
Trove provides fast, lightweight implementations of the java.util Collections API. These implementations are designed to be pluggable replacements for their JDK equivalents. This gap in the JDK is often addressed by using the "wrapper" classes (java.lang.Integer, java.lang.Float, etc.) with Object-based collections. For most applications, however, collections which store primitives directly will require less space and yield significant performance gains.
Colt - Scientific and Technical Computing in Java
Colt distribution consists of several free Java libraries bundled under one single uniform umbrella. Namely the Colt library, the Jet library, the CoreJava library, and the Concurrent library. It provides support for resizable arrays, dense, sparse matrices, histogramming functionality, Random Number Generators etc.
Mango - specialized iterators and functions
Mango is a Java library consisting of a number of iterators, algorithms and functions, loosely inspired by the C++ Standard Template Library. It has support of 12 iterators, 16 generic algorithms and variety of function types.
Hibernate - Relational Persistence for Java
Hibernate facilitated the storage and retrieval of domain objects via Object/Relational Mapping. Today, Hibernate is a collection of related projects enabling developers to utilize POJO-style domain models in their applications in ways extending well beyond Object/Relational Mapping.
Leaflet - JavaScript Library for Interactive Maps
Leaflet is a modern, lightweight open-source JavaScript library for mobile-friendly interactive maps. It is developed by CloudMade to form the core of its next generation JavaScript API. Weighing just about 21kb of gzipped JS code, it still has all the features you will ever need for your web mapping needs, while providing a fast, smooth, pleasant user experience.
jCharts - Java based charting utility
jCharts is a 100% Java based charting utility that outputs a variety of charts. Servlets, JSP's, and Swing application could use this library to generate charts. It could generate charts of type Area, Area Stacked, Bar, Bar Clustered, Bar Clustered Horizontal, Bar Horizontal, Bar Stacked, Bar Stacked Horizontal, Combo, Hi/Low Open/Close, Line, Pie 2D, Pie 3D, Point, Radar, XY Plot and lot more.