java.lang.Object
org.apache.jena.mem2.store.fast.FastArrayBunch
- All Implemented Interfaces:
org.apache.jena.atlas.lib.Copyable<FastTripleBunch>
,JenaMapSetCommon<Triple>
,JenaSet<Triple>
,JenaSetHashOptimized<Triple>
,FastTripleBunch
An ArrayBunch implements TripleBunch with a linear search of a short-ish
array of Triples. The array grows by factor 2.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Add the key to the set without checking if it is already present.void
addUnchecked
(Triple key, int hashCode) boolean
Check whether the collection contains any element matching the predicate.boolean
anyMatchRandomOrder
(Predicate<Triple> predicate) This method is used to optimize _PO match operations.abstract boolean
void
clear()
Clear the collection.boolean
Check whether the collection contains a given key.boolean
isArray()
Answer true iff this bunch is implemented as an array.boolean
isEmpty()
Get an iterator over the keys in the collection.Get a spliterator over the keys in the collection.void
Removes a key from the collection.void
removeUnchecked
(Triple key, int hashCode) int
size()
boolean
Add the key to the set if it is not already present.boolean
boolean
Tries to remove a key from the collection.boolean
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.jena.atlas.lib.Copyable
copy
Methods inherited from interface org.apache.jena.mem2.collection.JenaMapSetCommon
keyStream, keyStreamParallel
-
Method Details
-
areEqual
-
containsKey
Description copied from interface:JenaMapSetCommon
Check whether the collection contains a given key.- Specified by:
containsKey
in interfaceJenaMapSetCommon<Triple>
- Parameters:
t
- the key to look for- Returns:
- true if the collection contains the key
-
anyMatch
Description copied from interface:JenaMapSetCommon
Check whether the collection contains any element matching the predicate.- Specified by:
anyMatch
in interfaceJenaMapSetCommon<Triple>
- Parameters:
predicate
- the predicate to match- Returns:
- true if the collection contains any element matching the predicate
-
anyMatchRandomOrder
Description copied from interface:FastTripleBunch
This method is used to optimize _PO match operations. TheJenaMapSetCommon.anyMatch(Predicate)
method is faster if there are only a few matches. This method is faster if there are many matches and the set is ordered in an unfavorable way. _PO matches usually fall into this category.- Specified by:
anyMatchRandomOrder
in interfaceFastTripleBunch
- Parameters:
predicate
- the predicate to match- Returns:
- true if any triple in the bunch matches the predicate
-
clear
public void clear()Description copied from interface:JenaMapSetCommon
Clear the collection.- Specified by:
clear
in interfaceJenaMapSetCommon<Triple>
-
size
public int size()- Specified by:
size
in interfaceJenaMapSetCommon<Triple>
- Returns:
- the number of elements in the collection
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceJenaMapSetCommon<Triple>
- Returns:
- true if the collection is empty
-
tryAdd
Description copied from interface:JenaSet
Add the key to the set if it is not already present. -
addUnchecked
Description copied from interface:JenaSet
Add the key to the set without checking if it is already present. Attention: This method must only be used if it is guaranteed that the key is not already present.- Specified by:
addUnchecked
in interfaceJenaSet<Triple>
- Parameters:
t
- the key to add
-
tryRemove
Description copied from interface:JenaMapSetCommon
Tries to remove a key from the collection.- Specified by:
tryRemove
in interfaceJenaMapSetCommon<Triple>
- Parameters:
t
- the key to remove- Returns:
- true if the key was removed. If the key was not present, false is returned.
-
removeUnchecked
Description copied from interface:JenaMapSetCommon
Removes a key from the collection. Attention: Implementations may assume that the key is present.- Specified by:
removeUnchecked
in interfaceJenaMapSetCommon<Triple>
- Parameters:
t
- the key to remove
-
keyIterator
Description copied from interface:JenaMapSetCommon
Get an iterator over the keys in the collection.- Specified by:
keyIterator
in interfaceJenaMapSetCommon<Triple>
- Returns:
- an iterator over the keys in the collection
-
keySpliterator
Description copied from interface:JenaMapSetCommon
Get a spliterator over the keys in the collection.- Specified by:
keySpliterator
in interfaceJenaMapSetCommon<Triple>
- Returns:
- a spliterator over the keys in the collection
-
isArray
public boolean isArray()Description copied from interface:FastTripleBunch
Answer true iff this bunch is implemented as an array. This field is used to optimize some operations by avoiding the need for instanceOf tests.- Specified by:
isArray
in interfaceFastTripleBunch
- Returns:
- true iff this bunch is implemented as an arrays
-
tryAdd
- Specified by:
tryAdd
in interfaceJenaSetHashOptimized<Triple>
-
addUnchecked
- Specified by:
addUnchecked
in interfaceJenaSetHashOptimized<Triple>
-
tryRemove
- Specified by:
tryRemove
in interfaceJenaSetHashOptimized<Triple>
-
removeUnchecked
- Specified by:
removeUnchecked
in interfaceJenaSetHashOptimized<Triple>
-