Package org.apache.lucene.analysis
Class CharArraySet
A simple class that stores Strings as char[]'s in a hash table. Note that this is not a general
purpose class. For example, it cannot remove items from the set, nor does it resize its hash
table to be smaller, etc. It is designed to be quick to test if a char[] is in the set without
the necessity of converting it to a String first.
Please note: This class implements Set
but does not behave like
it should in all cases. The generic type is Set<Object>
, because you can add any object
to it, that has a string representation. The add methods will use Object.toString()
and
store the result using a char[]
buffer. The same behavior have the contains()
methods. The iterator()
returns an Iterator<char[]>
.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCharArraySet
(int startSize, boolean ignoreCase) Create set with enough capacity to hold startSize termsCharArraySet
(Collection<?> c, boolean ignoreCase) Creates a set from a Collection of objects. -
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(char[] text) Add this char[] directly to the set.boolean
add
(CharSequence text) Add this CharSequence into the setboolean
boolean
Add this String into the setvoid
clear()
Clears all entries in this set.boolean
contains
(char[] text, int off, int len) true if thelen
chars oftext
starting atoff
are in the setboolean
contains
(CharSequence cs) true if theCharSequence
is in the setboolean
static CharArraySet
Returns a copy of the given set as aCharArraySet
.iterator()
Returns anIterator
forchar[]
instances in this set.int
size()
toString()
static CharArraySet
Returns an unmodifiableCharArraySet
.Methods inherited from class java.util.AbstractSet
equals, hashCode, removeAll
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, isEmpty, remove, 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
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.Set
addAll, containsAll, isEmpty, remove, retainAll, spliterator, toArray, toArray
-
Field Details
-
EMPTY_SET
An emptyCharArraySet
.
-
-
Constructor Details
-
CharArraySet
public CharArraySet(int startSize, boolean ignoreCase) Create set with enough capacity to hold startSize terms- Parameters:
startSize
- the initial capacityignoreCase
-false
if and only if the set should be case sensitive otherwisetrue
.
-
CharArraySet
Creates a set from a Collection of objects.- Parameters:
c
- a collection whose elements to be placed into the setignoreCase
-false
if and only if the set should be case sensitive otherwisetrue
.
-
-
Method Details
-
clear
public void clear()Clears all entries in this set. This method is supported for reusing, but notSet.remove(java.lang.Object)
.- Specified by:
clear
in interfaceCollection<Object>
- Specified by:
clear
in interfaceSet<Object>
- Overrides:
clear
in classAbstractCollection<Object>
-
contains
public boolean contains(char[] text, int off, int len) true if thelen
chars oftext
starting atoff
are in the set -
contains
true if theCharSequence
is in the set -
contains
- Specified by:
contains
in interfaceCollection<Object>
- Specified by:
contains
in interfaceSet<Object>
- Overrides:
contains
in classAbstractCollection<Object>
-
add
- Specified by:
add
in interfaceCollection<Object>
- Specified by:
add
in interfaceSet<Object>
- Overrides:
add
in classAbstractCollection<Object>
-
add
Add this CharSequence into the set -
add
Add this String into the set -
add
public boolean add(char[] text) Add this char[] directly to the set. If ignoreCase is true for this Set, the text array will be directly modified. The user should never modify this text array after calling this method. -
size
public int size()- Specified by:
size
in interfaceCollection<Object>
- Specified by:
size
in interfaceSet<Object>
- Specified by:
size
in classAbstractCollection<Object>
-
unmodifiableSet
Returns an unmodifiableCharArraySet
. This allows to provide unmodifiable views of internal sets for "read-only" use.- Parameters:
set
- a set for which the unmodifiable set is returned.- Returns:
- an new unmodifiable
CharArraySet
. - Throws:
NullPointerException
- if the given set isnull
.
-
copy
Returns a copy of the given set as aCharArraySet
. If the given set is aCharArraySet
the ignoreCase property will be preserved.- Parameters:
set
- a set to copy- Returns:
- a copy of the given set as a
CharArraySet
. If the given set is aCharArraySet
the ignoreCase property as well as the matchVersion will be of the given set will be preserved.
-
iterator
Returns anIterator
forchar[]
instances in this set. -
toString
- Overrides:
toString
in classAbstractCollection<Object>
-