Package it.unimi.dsi.big.util
Class FrontCodedStringBigList
- java.lang.Object
-
- java.util.AbstractCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObjectCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObjectBigList<MutableString>
-
- it.unimi.dsi.big.util.FrontCodedStringBigList
-
- All Implemented Interfaces:
it.unimi.dsi.fastutil.BigList<MutableString>
,it.unimi.dsi.fastutil.objects.ObjectBigList<MutableString>
,it.unimi.dsi.fastutil.objects.ObjectCollection<MutableString>
,it.unimi.dsi.fastutil.objects.ObjectIterable<MutableString>
,it.unimi.dsi.fastutil.Size64
,it.unimi.dsi.fastutil.Stack<MutableString>
,java.io.Serializable
,java.lang.Comparable<it.unimi.dsi.fastutil.BigList<? extends MutableString>>
,java.lang.Iterable<MutableString>
,java.util.Collection<MutableString>
,java.util.RandomAccess
public class FrontCodedStringBigList extends it.unimi.dsi.fastutil.objects.AbstractObjectBigList<MutableString> implements java.util.RandomAccess, java.io.Serializable
Compact storage of strings using front-coding compression (also known as compression by prefix omission).This class is functionally identical to
FrontCodedStringList
, except for the larger size allowed.- See Also:
FrontCodedStringList
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected it.unimi.dsi.fastutil.bytes.ByteArrayFrontCodedBigList
byteFrontCodedBigList
The underlyingByteArrayFrontCodedBigList
, ornull
.protected it.unimi.dsi.fastutil.chars.CharArrayFrontCodedBigList
charFrontCodedBigList
The underlyingCharArrayFrontCodedBigList
, ornull
.static long
serialVersionUID
protected boolean
utf8
Whether this front-coded list is UTF-8 encoded.
-
Constructor Summary
Constructors Constructor Description FrontCodedStringBigList(java.util.Collection<? extends java.lang.CharSequence> c, int ratio, boolean utf8)
Creates a new front-coded string list containing the character sequences contained in the given collection.FrontCodedStringBigList(java.util.Iterator<? extends java.lang.CharSequence> words, int ratio, boolean utf8)
Creates a new front-coded string list containing the character sequences returned by the given iterator.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static char[]
byte2Char(byte[] a, char[] s)
protected static int
countUTF8Chars(byte[] a)
void
dump(java.lang.String basename)
MutableString
get(long index)
Returns the element at the specified position in this front-coded string big list as a mutable string.void
get(long index, MutableString s)
Returns the element at the specified position in this front-coded string big list by storing it in a mutable string.it.unimi.dsi.fastutil.objects.ObjectBigListIterator<MutableString>
listIterator(long k)
static void
main(java.lang.String[] arg)
int
ratio()
Returns the ratio of the underlying front-coded list.long
size64()
boolean
utf8()
Returns whether this front-coded string list is storing its strings as UTF-8 encoded bytes.-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectBigList
add, add, addAll, addAll, addElements, addElements, clear, compareTo, contains, ensureIndex, ensureRestrictedIndex, equals, forEach, getElements, hashCode, indexOf, iterator, lastIndexOf, listIterator, peek, pop, push, remove, removeElements, set, setElements, size, size, subList, top, toString
-
Methods inherited from class java.util.AbstractCollection
containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
containsAll, isEmpty, parallelStream, remove, removeAll, removeIf, retainAll, stream, toArray, toArray, toArray
-
-
-
-
Field Detail
-
serialVersionUID
public static final long serialVersionUID
- See Also:
- Constant Field Values
-
byteFrontCodedBigList
protected final it.unimi.dsi.fastutil.bytes.ByteArrayFrontCodedBigList byteFrontCodedBigList
The underlyingByteArrayFrontCodedBigList
, ornull
.
-
charFrontCodedBigList
protected final it.unimi.dsi.fastutil.chars.CharArrayFrontCodedBigList charFrontCodedBigList
The underlyingCharArrayFrontCodedBigList
, ornull
.
-
utf8
protected final boolean utf8
Whether this front-coded list is UTF-8 encoded.
-
-
Constructor Detail
-
FrontCodedStringBigList
public FrontCodedStringBigList(java.util.Iterator<? extends java.lang.CharSequence> words, int ratio, boolean utf8)
Creates a new front-coded string list containing the character sequences returned by the given iterator.- Parameters:
words
- an iterator returning character sequences.ratio
- the desired ratio.utf8
- if true, the strings will be stored as UTF-8 byte arrays.
-
FrontCodedStringBigList
public FrontCodedStringBigList(java.util.Collection<? extends java.lang.CharSequence> c, int ratio, boolean utf8)
Creates a new front-coded string list containing the character sequences contained in the given collection.- Parameters:
c
- a collection containing character sequences.ratio
- the desired ratio.utf8
- if true, the strings will be stored as UTF-8 byte arrays.
-
-
Method Detail
-
utf8
public boolean utf8()
Returns whether this front-coded string list is storing its strings as UTF-8 encoded bytes.- Returns:
- true if this front-coded string list is keeping its data as an array of UTF-8 encoded bytes.
-
ratio
public int ratio()
Returns the ratio of the underlying front-coded list.- Returns:
- the ratio of the underlying front-coded list.
-
get
public MutableString get(long index)
Returns the element at the specified position in this front-coded string big list as a mutable string.- Specified by:
get
in interfaceit.unimi.dsi.fastutil.BigList<MutableString>
- Parameters:
index
- an index in the list.- Returns:
- a
MutableString
that will contain the string at the specified position. The string may be freely modified.
-
get
public void get(long index, MutableString s)
Returns the element at the specified position in this front-coded string big list by storing it in a mutable string.- Parameters:
index
- an index in the list.s
- a mutable string that will contain the string at the specified position.
-
countUTF8Chars
protected static int countUTF8Chars(byte[] a)
-
byte2Char
protected static char[] byte2Char(byte[] a, char[] s)
-
listIterator
public it.unimi.dsi.fastutil.objects.ObjectBigListIterator<MutableString> listIterator(long k)
- Specified by:
listIterator
in interfaceit.unimi.dsi.fastutil.BigList<MutableString>
- Specified by:
listIterator
in interfaceit.unimi.dsi.fastutil.objects.ObjectBigList<MutableString>
- Overrides:
listIterator
in classit.unimi.dsi.fastutil.objects.AbstractObjectBigList<MutableString>
-
size64
public long size64()
- Specified by:
size64
in interfaceit.unimi.dsi.fastutil.Size64
-
dump
public void dump(java.lang.String basename) throws org.apache.commons.configuration2.ex.ConfigurationException, java.io.IOException
- Throws:
org.apache.commons.configuration2.ex.ConfigurationException
java.io.IOException
-
main
public static void main(java.lang.String[] arg) throws java.io.IOException, com.martiansoftware.jsap.JSAPException, java.lang.NoSuchMethodException
- Throws:
java.io.IOException
com.martiansoftware.jsap.JSAPException
java.lang.NoSuchMethodException
-
-