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
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
Fields inherited from interface it.unimi.dsi.big.util.StringMap
serialVersionUID
-
Method Summary
Modifier and TypeMethodDescriptionReturns a function mapping ranges of strings to common prefixes (optional operation).rangeMap()
Returns a function mapping prefixes to ranges of strings.Methods inherited from interface it.unimi.dsi.fastutil.Function
apply, clear, containsKey
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2LongFunction
andThen, andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, applyAsLong, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort, defaultReturnValue, defaultReturnValue, get, getLong, getOrDefault, getOrDefault, 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
null
if this map does not support prefixes.
-