Skip to content
fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues.
Java HTML Shell Makefile
Branch: master
Clone or download
vigna Merge pull request #134 from techsy730/list_sort
Fix any issue where longs were using a smaller radix sort threshold
Latest commit 9d08793 Aug 3, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Bumped dates Aug 2, 2019
CHANGES Big-array methods are now gathered into BigArrays Aug 2, 2019
LICENSE-2.0 Moved to Apache License 2.0 Nov 18, 2010 Fixed README/CHANGES/makefile for May 28, 2018 Major code cleanup, phase four Mar 15, 2017
TODO Add List.sort and adaptive algorithm sorting methods Jul 12, 2019 Tweaking Aug 2, 2019
fastutil.bnd Added OSGI modularitazion to OSGi version, too May 28, 2018 Dependency script Aug 21, 2017
ivy.xml Tweaking Jan 13, 2015

Welcome to fastutil

fastutil is a collection of type-specific Java classes that extend the Java Collections Framework by providing several containers, such as maps, sets, lists and prority queues, implementing the interfaces of the java.util package; it also provides big (64-bit) arrays, sets, lists, and fast, practical I/O classes for binary and text files.

fastutil provides a huge collection of specialized classes generated starting from a parametrized version; the classes are much more compact and much faster than the general ones. Please read the package documentation for more information.

Note that the jar file is huge, due to the large number of classes. To create a small, customized fastutil jar (which you can put in your repo, local maven, etc.), we provide the shell script. It has mild prerequisites, as only the jdeps tool is required (bundled with JDK 8). It can be used to identify all fastutil classes your project uses and build a minimized jar only containing the necessary classes. You can also have a look at AutoJar or similar tools to extract automatically the necessary classes.


You have to "make sources" to get the actual Java sources; finally, "ant jar" and "ant javadoc" will generate the jar file and the API documentation.

The Java sources are generated using a C preprocessor. The script reads in a driver file, that is, a Java source that uses some preprocessor-defined symbols and some conditional compilation, and produces a (fake) C source, which includes the driver code and some definitions that customize the environment.

You can’t perform that action at this time.