The classes in this package are completely general utility classes that may be useful outside of MG4J. In particular, {@link it.unimi.dsi.mg4j.util.MutableString} is a highly-tuned, versatile class for content-based mutable strings.
Another general-purpose important component is {@link it.unimi.dsi.mg4j.util.MinimalPerfectHash}, which implements state-of-the-art, hypergraph-based algorithms for the construction of ordered minimal perfect hash tables.
If minimal perfect hash tables are too large, a good alternative is an {@link it.unimi.dsi.mg4j.util.ImmutableExternalPrefixDictionary}, which keeps most data in compressed form on disk, and uses a small in-memory index to access those data.