Joda Primitives

Joda Primitives provides collections and utilities to bridge the gap between objects and primitive types in Java.

Current interfaces and implementations include:

  • Collection
  • List
  • Iterable
  • Iterator
  • ListIterator

Each collection implementation stores the data as a primitive object. The interfaces provide dedicated methods to access those primitives. If you need a list of numbers or booleans, then these classes are ideal. A primitive collection uses less memory, performs more quickly and saves on garbage collection. All this is due to the fact that no Object wrapper class has to be created.

This project is an offshoot of Commons Primitives. The two projects have very different designs. Commons Primitives defines interfaces independent of the JDK collection interfaces. Joda Primitives defines interfaces that extend the JDK collection interfaces. This project offers deeper direct integration, however this results in certain method names being different from JDK collections.

Joda Primitives is licensed under the business-friendly Apache 2.0 licence.


Various documentation is available:


Release 1.0 is the current latest release. This release is considered stable and worthy of the 1.x tag. It depends on JDK 1.5 or later.

Available in Maven Central.


Support on bugs, library usage or enhancement requests is available on a best efforts basis. If you have any questions, or want to volunteer to help, just email Stephen Colebourne via

To suggest enhancements or contribute, please fork the source code on GitHub. Alternatively, use GitHub issues.