Package it.unimi.dsi.big.util
Interface PrefixMap<S extends CharSequence>
- All Superinterfaces:
Function<CharSequence,Long>,Function<CharSequence,Long>,Object2LongFunction<CharSequence>,Serializable,Size64,StringMap<S>,ToLongFunction<CharSequence>
- All Known Implementing Classes:
AbstractPrefixMap,ImmutableExternalPrefixMap,StringMaps.PrefixMapWrapper,StringMaps.SynchronizedPrefixMap,TernaryIntervalSearchTree
public interface PrefixMap<S extends CharSequence> extends StringMap<S>, Size64
A map from prefixes to string intervals (and possibly vice versa).
Instances of this class provide the services of a StringMap, but by assuming
the strings are lexicographically ordered, they can provide further information by
exposing a function from string prefixes to intervals and a
function from intervals to string prefixes.
In the first case, given a prefix, we can ask for the range of strings starting
with that prefix, expressed as a LongInterval. This information is very useful to
satisfy prefix queries (e.g., monitor*) with a brute-force approach.
Optionally, a prefix map may provide the opposite service: given an interval of terms, it
may provide the maximum common prefix. This feature can be checked for by calling
prefixMap().
- Since:
- 2.0
- Author:
- Sebastiano Vigna
-
Field Summary
-
Method Summary
Modifier and Type Method Description Object2ObjectFunction<LongInterval,S>prefixMap()Returns a function mapping ranges of strings to common prefixes (optional operation).Object2ObjectFunction<CharSequence,LongInterval>rangeMap()Returns a function mapping prefixes to ranges of strings.Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2LongFunction
applyAsLong, defaultReturnValue, defaultReturnValue, get, getLong, put, put, remove, removeLong
-
Method Details
-
rangeMap
Object2ObjectFunction<CharSequence,LongInterval> rangeMap()Returns a function mapping prefixes to ranges of strings.- Returns:
- a function mapping prefixes to ranges of strings.
-
prefixMap
Object2ObjectFunction<LongInterval,S> prefixMap()Returns a function mapping ranges of strings to common prefixes (optional operation).- Returns:
- a function mapping ranges of strings to common prefixes, or
nullif this map does not support prefixes.
-