Other Java Collection frameworks
1. fastutil
Fastutil is an extension of an open-source Java Collection Framework. It inherits the Java Collection Framework and provides several specific types of containers, it includes map, set, list, and priority queue, and implements java. standard interfaces of the util package (two-way iterators not available in the standard class), a large (64-bit) array, set, list, and quick and practical binary or text file I/O operations.
Fastutil provides large-capacity functions for dedicated collection classes, and is more compact and faster than common Java Collection classes.
In addition to the object and original type, the fastutil class also provides support for references, that is, the object can be compared using the equal sign operator, without the need to use the equals () method.
Fastutil is released under the Apache 2.0 license. JDK 7 or later is required.
Fastutil is provided as a JAR package. Note that the JAR package file is large because it contains a large number of class files. If you only want part of fastutil, you should consider using AutoJar and so on to automatically extract the required class.
Similar technologies: HPPC, Koloboke, GS Collections, Trove Collections, Mahout Collections
Fastutil is currently the latest version 7.0.10, the latest JAR package fastutil-7.0.10.jar size is 17 MB. Its Maven dependency is:
it.unimi.dsi
fastutil
7.0.10
Fastutil 6 is enhanced in terms of big data and provides a new set of classes to process large sets, especially when the set data exceeds 2 GB (2 ^ 31. For example, the Hash Big Set is only limited by the memory size.
2. HPPC
HPPC is High Performance Primitive Collections for Java, which extends Java's original Collection types, such as ing map, set, stack, list, and queue deque, it provides better memory utilization and better performance.
The latest HPPC version is 0.7.1.
3. Trove
The Trove Library provides high-speed Java Collection classes.
The GNU Trove library has two goals:
1) provides a free, high-speed, lightweight java. util collection API implementation.
These implementations are designed as pluggable methods to replace the standard JDK collection classes.
2) provide the original set, and maintain the same API style.
The standard JDK uses the package class to encapsulate the original type, such as java. lang. Integer and java. lang. Float. The standard collection class also uses the encapsulated type. For the Trove library, directly storing the original type in the set can reduce the space usage and significantly improve the performance.
The GNU Trove library can be used for both server-side applications and client applications. It consumes less memory than the standard collection framework.
The latest version of the GNU Trove library is 3.0.3, a mature library.
It should be noted that Trove has not been updated for a long time and this project can be ignored.
4. Mahout Collections
The Mahout Collections library is a collection of container classes and is designed to address some restrictions of the standard Java Collection framework. Mahout Collections mainly solves two problems:
1) the Java standard collection framework does not support the original type.
2) the Java standard collection framework does not support open hashing.