Klasse ObjectLinkedOpenHashSet<T>

Typparameter:
T - the keyType of elements maintained by this Collection
Alle implementierten Schnittstellen:
Iterable<T>, Collection<T>, Set<T>, ObjectCollection<T>, ObjectIterable<T>, ObjectOrderedSet<T>, ObjectSet<T>, ISizeProvider, ITrimmable

public class ObjectLinkedOpenHashSet<T> extends ObjectOpenHashSet<T> implements ObjectOrderedSet<T>
A Type Specific LinkedHashMap implementation that uses specific arrays to create links between nodes to remove the wrapping of elements to greatly reduce memory usage. In Addition adding some helper methods to move around elements. This implementation of SortedSet does not support SubSet of any kind. It implements the interface due to sortability and first/last access
  • Konstruktordetails

    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet()
      Default Constructor
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(int minCapacity)
      Constructor that defines the minimum capacity
      Parameter:
      minCapacity - the minimum capacity the HashSet is allowed to be.
      Löst aus:
      IllegalStateException - if the minimum capacity is negative
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(int minCapacity, float loadFactor)
      Constructor that defines the minimum capacity and load factor
      Parameter:
      minCapacity - the minimum capacity the HashSet is allowed to be.
      loadFactor - the percentage of how full the backing array can be before they resize
      Löst aus:
      IllegalStateException - if the minimum capacity is negative
      IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(T[] array)
      Helper constructor that allow to create a set from unboxed values
      Parameter:
      array - the elements that should be put into the set
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(T[] array, float loadFactor)
      Helper constructor that allow to create a set from unboxed values
      Parameter:
      array - the elements that should be put into the set
      loadFactor - the percentage of how full the backing array can be before they resize
      Löst aus:
      IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(T[] array, int offset, int length)
      Helper constructor that allow to create a set from unboxed values
      Parameter:
      array - the elements that should be put into the set
      offset - the starting index within the array that should be used
      length - the amount of elements used from the array
      Löst aus:
      IllegalStateException - if offset and length causes to step outside of the arrays range
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(T[] array, int offset, int length, float loadFactor)
      Helper constructor that allow to create a set from unboxed values
      Parameter:
      array - the elements that should be put into the set
      offset - the starting index within the array that should be used
      length - the amount of elements used from the array
      loadFactor - the percentage of how full the backing array can be before they resize
      Löst aus:
      IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1
      IllegalStateException - if offset and length causes to step outside of the arrays range
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(Collection<? extends T> collection)
      A Helper constructor that allows to create a Set with exactly the same values as the provided collection.
      Parameter:
      collection - the set the elements should be added to the Set
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(Collection<? extends T> collection, float loadFactor)
      A Helper constructor that allows to create a Set with exactly the same values as the provided collection.
      Parameter:
      collection - the set the elements should be added to the Set
      loadFactor - the percentage of how full the backing array can be before they resize
      Löst aus:
      IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(ObjectCollection<T> collection)
      A Helper constructor that allows to create a Set with exactly the same values as the provided collection.
      Parameter:
      collection - the set the elements should be added to the Set
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(ObjectCollection<T> collection, float loadFactor)
      A Helper constructor that allows to create a Set with exactly the same values as the provided collection.
      Parameter:
      collection - the set the elements should be added to the Set
      loadFactor - the percentage of how full the backing array can be before they resize
      Löst aus:
      IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(Iterator<T> iterator)
      A Helper constructor that allows to create a set from a iterator of an unknown size
      Parameter:
      iterator - the elements that should be added to the set
    • ObjectLinkedOpenHashSet

      public ObjectLinkedOpenHashSet(Iterator<T> iterator, float loadFactor)
      A Helper constructor that allows to create a set from a iterator of an unknown size
      Parameter:
      iterator - the elements that should be added to the set
      loadFactor - the percentage of how full the backing array can be before they resize
      Löst aus:
      IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1
  • Methodendetails

    • addAndMoveToFirst

      public boolean addAndMoveToFirst(T o)
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A customized add method that allows you to insert into the first index.
      Angegeben von:
      addAndMoveToFirst in Schnittstelle ObjectOrderedSet<T>
      Parameter:
      o - the element that should be inserted
      Gibt zurück:
      true if it was added
      Siehe auch:
    • addAndMoveToLast

      public boolean addAndMoveToLast(T o)
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A customized add method that allows you to insert into the last index.
      Angegeben von:
      addAndMoveToLast in Schnittstelle ObjectOrderedSet<T>
      Parameter:
      o - the element that should be inserted
      Gibt zurück:
      true if it was added
      Siehe auch:
    • moveToFirst

      public boolean moveToFirst(T o)
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A specific move method to move a given key to the first index.
      Angegeben von:
      moveToFirst in Schnittstelle ObjectOrderedSet<T>
      Parameter:
      o - that should be moved to the first index
      Gibt zurück:
      true if the value was moved.
    • moveToLast

      public boolean moveToLast(T o)
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A specific move method to move a given key to the last index.
      Angegeben von:
      moveToLast in Schnittstelle ObjectOrderedSet<T>
      Parameter:
      o - that should be moved to the first last
      Gibt zurück:
      true if the value was moved.
    • first

      public T first()
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A method to get the first element in the set
      Angegeben von:
      first in Schnittstelle ObjectOrderedSet<T>
      Gibt zurück:
      first element in the set
    • pollFirst

      public T pollFirst()
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A method to get and remove the first element in the set
      Angegeben von:
      pollFirst in Schnittstelle ObjectOrderedSet<T>
      Gibt zurück:
      first element in the set
    • last

      public T last()
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A method to get the last element in the set
      Angegeben von:
      last in Schnittstelle ObjectOrderedSet<T>
      Gibt zurück:
      last element in the set
    • pollLast

      public T pollLast()
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A method to get and remove the last element in the set
      Angegeben von:
      pollLast in Schnittstelle ObjectOrderedSet<T>
      Gibt zurück:
      last element in the set
    • toArray

      @Deprecated public Object[] toArray()
      Veraltet.
      Angegeben von:
      toArray in Schnittstelle Collection<T>
      Angegeben von:
      toArray in Schnittstelle Set<T>
      Setzt außer Kraft:
      toArray in Klasse ObjectOpenHashSet<T>
    • toArray

      public <E> E[] toArray(E[] a)
      Angegeben von:
      toArray in Schnittstelle Collection<T>
      Angegeben von:
      toArray in Schnittstelle Set<T>
      Setzt außer Kraft:
      toArray in Klasse ObjectOpenHashSet<T>
    • forEach

      public void forEach(Consumer<? super T> action)
      Angegeben von:
      forEach in Schnittstelle Iterable<T>
      Setzt außer Kraft:
      forEach in Klasse ObjectOpenHashSet<T>
    • forEachIndexed

      public void forEachIndexed(IntObjectConsumer<T> action)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      A Indexed forEach implementation that allows you to keep track of how many elements were already iterated over.
      Angegeben von:
      forEachIndexed in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      forEachIndexed in Klasse ObjectOpenHashSet<T>
      Parameter:
      action - The action to be performed for each element
    • forEach

      public <E> void forEach(E input, ObjectObjectConsumer<E,T> action)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Helper function to reduce Lambda usage and allow for more method references, since these are faster/cleaner.
      Angegeben von:
      forEach in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      forEach in Klasse ObjectOpenHashSet<T>
      Typparameter:
      E - the generic type of the Object
      Parameter:
      input - the object that should be included
      action - The action to be performed for each element
    • matchesAny

      public boolean matchesAny(Predicate<T> filter)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Helper function to reduce stream usage that allows to filter for any matches.
      Angegeben von:
      matchesAny in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      matchesAny in Klasse ObjectOpenHashSet<T>
      Parameter:
      filter - that should be applied
      Gibt zurück:
      true if any matches were found
    • matchesNone

      public boolean matchesNone(Predicate<T> filter)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Helper function to reduce stream usage that allows to filter for no matches.
      Angegeben von:
      matchesNone in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      matchesNone in Klasse ObjectOpenHashSet<T>
      Parameter:
      filter - that should be applied
      Gibt zurück:
      true if no matches were found
    • matchesAll

      public boolean matchesAll(Predicate<T> filter)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Helper function to reduce stream usage that allows to filter for all matches.
      Angegeben von:
      matchesAll in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      matchesAll in Klasse ObjectOpenHashSet<T>
      Parameter:
      filter - that should be applied
      Gibt zurück:
      true if all matches.
    • reduce

      public <E> E reduce(E identity, BiFunction<E,T,E> operator)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Performs a reduction on the elements of this Iterable
      Angegeben von:
      reduce in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      reduce in Klasse ObjectOpenHashSet<T>
      Typparameter:
      E - the keyType of elements maintained by this Collection
      Parameter:
      identity - the start value
      operator - the operation that should be applied
      Gibt zurück:
      the reduction result, returns identity if nothing was found
    • reduce

      public T reduce(ObjectObjectUnaryOperator<T,T> operator)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Performs a reduction on the elements of this Iterable
      Angegeben von:
      reduce in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      reduce in Klasse ObjectOpenHashSet<T>
      Parameter:
      operator - the operation that should be applied
      Gibt zurück:
      the reduction result, returns null value if nothing was found
    • findFirst

      public T findFirst(Predicate<T> filter)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Helper function to reduce stream usage that allows to filter for the first match.
      Angegeben von:
      findFirst in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      findFirst in Klasse ObjectOpenHashSet<T>
      Parameter:
      filter - that should be applied
      Gibt zurück:
      the found value or the null equivalent variant.
    • count

      public int count(Predicate<T> filter)
      Beschreibung aus Schnittstelle kopiert: ObjectIterable
      Helper function to reduce stream usage that allows to count the valid elements.
      Angegeben von:
      count in Schnittstelle ObjectIterable<T>
      Setzt außer Kraft:
      count in Klasse ObjectOpenHashSet<T>
      Parameter:
      filter - that should be applied
      Gibt zurück:
      the amount of Valid Elements
    • clear

      public void clear()
      Angegeben von:
      clear in Schnittstelle Collection<T>
      Angegeben von:
      clear in Schnittstelle Set<T>
      Setzt außer Kraft:
      clear in Klasse ObjectOpenHashSet<T>
    • clearAndTrim

      public void clearAndTrim(int size)
      Beschreibung aus Schnittstelle kopiert: ITrimmable
      Trims the collection down to the requested size and clears all elements while doing so
      Angegeben von:
      clearAndTrim in Schnittstelle ITrimmable
      Setzt außer Kraft:
      clearAndTrim in Klasse ObjectOpenHashSet<T>
      Parameter:
      size - the amount of elements that should be allowed
    • iterator

      public ObjectListIterator<T> iterator()
      Beschreibung aus Schnittstelle kopiert: ObjectCollection
      Returns a Type-Specific Iterator to reduce (un)boxing
      Angegeben von:
      iterator in Schnittstelle Collection<T>
      Angegeben von:
      iterator in Schnittstelle Iterable<T>
      Angegeben von:
      iterator in Schnittstelle ObjectCollection<T>
      Angegeben von:
      iterator in Schnittstelle ObjectIterable<T>
      Angegeben von:
      iterator in Schnittstelle ObjectOrderedSet<T>
      Angegeben von:
      iterator in Schnittstelle ObjectSet<T>
      Angegeben von:
      iterator in Schnittstelle Set<T>
      Setzt außer Kraft:
      iterator in Klasse ObjectOpenHashSet<T>
      Gibt zurück:
      a iterator of the collection
      Siehe auch:
    • iterator

      public ObjectBidirectionalIterator<T> iterator(T fromElement)
      Beschreibung aus Schnittstelle kopiert: ObjectOrderedSet
      A type Specific Iterator starting from a given key
      Angegeben von:
      iterator in Schnittstelle ObjectOrderedSet<T>
      Parameter:
      fromElement - the element the iterator should start from
      Gibt zurück:
      a iterator starting from the given element
    • copy

      public ObjectLinkedOpenHashSet<T> copy()
      Beschreibung aus Schnittstelle kopiert: ObjectCollection
      A Function that does a shallow clone of the Collection itself. This function is more optimized then a copy constructor since the Collection does not have to be unsorted/resorted. It can be compared to Cloneable but with less exception risk
      Angegeben von:
      copy in Schnittstelle ObjectCollection<T>
      Angegeben von:
      copy in Schnittstelle ObjectOrderedSet<T>
      Angegeben von:
      copy in Schnittstelle ObjectSet<T>
      Setzt außer Kraft:
      copy in Klasse ObjectOpenHashSet<T>
      Gibt zurück:
      a Shallow Copy of the collection