Class FastArrayBunch

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

public abstract class FastArrayBunch extends Object implements FastTripleBunch
An ArrayBunch implements TripleBunch with a linear search of a short-ish array of Triples. The array grows by factor 2.
  • Method Details

    • areEqual

      public abstract boolean areEqual(Triple a, Triple b)
    • containsKey

      public boolean containsKey(Triple t)
      Description copied from interface: JenaMapSetCommon
      Check whether the collection contains a given key.
      Specified by:
      containsKey in interface JenaMapSetCommon<Triple>
      Parameters:
      t - the key to look for
      Returns:
      true if the collection contains the key
    • anyMatch

      public boolean anyMatch(Predicate<Triple> predicate)
      Description copied from interface: JenaMapSetCommon
      Check whether the collection contains any element matching the predicate.
      Specified by:
      anyMatch in interface JenaMapSetCommon<Triple>
      Parameters:
      predicate - the predicate to match
      Returns:
      true if the collection contains any element matching the predicate
    • anyMatchRandomOrder

      public boolean anyMatchRandomOrder(Predicate<Triple> predicate)
      Description copied from interface: FastTripleBunch
      This method is used to optimize _PO match operations. The JenaMapSetCommon.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 interface FastTripleBunch
      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 interface JenaMapSetCommon<Triple>
    • size

      public int size()
      Specified by:
      size in interface JenaMapSetCommon<Triple>
      Returns:
      the number of elements in the collection
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface JenaMapSetCommon<Triple>
      Returns:
      true if the collection is empty
    • tryAdd

      public boolean tryAdd(Triple t)
      Description copied from interface: JenaSet
      Add the key to the set if it is not already present.
      Specified by:
      tryAdd in interface JenaSet<Triple>
      Parameters:
      t - the key to add
      Returns:
      true if the key was added, false if it was already present
    • addUnchecked

      public void addUnchecked(Triple t)
      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 interface JenaSet<Triple>
      Parameters:
      t - the key to add
    • tryRemove

      public boolean tryRemove(Triple t)
      Description copied from interface: JenaMapSetCommon
      Tries to remove a key from the collection.
      Specified by:
      tryRemove in interface JenaMapSetCommon<Triple>
      Parameters:
      t - the key to remove
      Returns:
      true if the key was removed. If the key was not present, false is returned.
    • removeUnchecked

      public void removeUnchecked(Triple t)
      Description copied from interface: JenaMapSetCommon
      Removes a key from the collection. Attention: Implementations may assume that the key is present.
      Specified by:
      removeUnchecked in interface JenaMapSetCommon<Triple>
      Parameters:
      t - the key to remove
    • keyIterator

      public ExtendedIterator<Triple> keyIterator()
      Description copied from interface: JenaMapSetCommon
      Get an iterator over the keys in the collection.
      Specified by:
      keyIterator in interface JenaMapSetCommon<Triple>
      Returns:
      an iterator over the keys in the collection
    • keySpliterator

      public Spliterator<Triple> keySpliterator()
      Description copied from interface: JenaMapSetCommon
      Get a spliterator over the keys in the collection.
      Specified by:
      keySpliterator in interface JenaMapSetCommon<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 interface FastTripleBunch
      Returns:
      true iff this bunch is implemented as an arrays
    • tryAdd

      public boolean tryAdd(Triple key, int hashCode)
      Specified by:
      tryAdd in interface JenaSetHashOptimized<Triple>
    • addUnchecked

      public void addUnchecked(Triple key, int hashCode)
      Specified by:
      addUnchecked in interface JenaSetHashOptimized<Triple>
    • tryRemove

      public boolean tryRemove(Triple key, int hashCode)
      Specified by:
      tryRemove in interface JenaSetHashOptimized<Triple>
    • removeUnchecked

      public void removeUnchecked(Triple key, int hashCode)
      Specified by:
      removeUnchecked in interface JenaSetHashOptimized<Triple>