Klasse ObjectIterators

java.lang.Object
speiger.src.collections.objects.utils.ObjectIterators

public class ObjectIterators extends Object
A Helper class for Iterators
  • Konstruktordetails

    • ObjectIterators

      public ObjectIterators()
  • Methodendetails

    • empty

      public static <T> speiger.src.collections.objects.utils.ObjectIterators.EmptyIterator<T> empty()
      Returns a Immutable EmptyIterator instance that is automatically casted.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Gibt zurück:
      an empty iterator
    • invert

      public static <T> ObjectBidirectionalIterator<T> invert(ObjectBidirectionalIterator<T> it)
      Inverter function for Bidirectional Iterators
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      it - the iterator that should be inverted
      Gibt zurück:
      a Inverted Bidirectional Iterator. If it was inverted then it just gives back the original reference
    • invert

      public static <T> ObjectListIterator<T> invert(ObjectListIterator<T> it)
      Inverter function for List Iterators
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      it - the iterator that should be inverted
      Gibt zurück:
      a Inverted List Iterator. If it was inverted then it just gives back the original reference
    • unmodifiable

      public static <T> ObjectIterator<T> unmodifiable(ObjectIterator<T> iterator)
      Returns a Immutable Iterator instance based on the instance given.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be made immutable/unmodifiable
      Gibt zurück:
      a unmodifiable iterator wrapper. If the Iterator already a unmodifiable wrapper then it just returns itself.
    • unmodifiable

      public static <T> ObjectBidirectionalIterator<T> unmodifiable(ObjectBidirectionalIterator<T> iterator)
      Returns a Immutable Iterator instance based on the instance given.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be made immutable/unmodifiable
      Gibt zurück:
      a unmodifiable iterator wrapper. If the Iterator already a unmodifiable wrapper then it just returns itself.
    • unmodifiable

      public static <T> ObjectListIterator<T> unmodifiable(ObjectListIterator<T> iterator)
      Returns a Immutable ListIterator instance based on the instance given.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be made immutable/unmodifiable
      Gibt zurück:
      a unmodifiable listiterator wrapper. If the ListIterator already a unmodifiable wrapper then it just returns itself.
    • map

      public static <T, E> ObjectIterator<E> map(Iterator<? extends T> iterator, UnaryOperator<T,E> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      E - The return type.
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • map

      public static <T, E> ObjectIterator<E> map(ObjectIterator<T> iterator, UnaryOperator<T,E> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      E - The return type.
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToBoolean

      public static <T> BooleanIterator mapToBoolean(Iterator<? extends T> iterator, Predicate<T> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToBoolean

      public static <T> BooleanIterator mapToBoolean(ObjectIterator<T> iterator, Predicate<T> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToByte

      public static <T> ByteIterator mapToByte(Iterator<? extends T> iterator, ToByteFunction<T> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToByte

      public static <T> ByteIterator mapToByte(ObjectIterator<T> iterator, ToByteFunction<T> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToShort

      public static <T> ShortIterator mapToShort(Iterator<? extends T> iterator, ToShortFunction<T> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToShort

      public static <T> ShortIterator mapToShort(ObjectIterator<T> iterator, ToShortFunction<T> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToInt

      public static <T> IntIterator mapToInt(Iterator<? extends T> iterator, ToIntFunction<T> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToInt

      public static <T> IntIterator mapToInt(ObjectIterator<T> iterator, ToIntFunction<T> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToLong

      public static <T> LongIterator mapToLong(Iterator<? extends T> iterator, ToLongFunction<T> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToLong

      public static <T> LongIterator mapToLong(ObjectIterator<T> iterator, ToLongFunction<T> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToFloat

      public static <T> FloatIterator mapToFloat(Iterator<? extends T> iterator, ToFloatFunction<T> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToFloat

      public static <T> FloatIterator mapToFloat(ObjectIterator<T> iterator, ToFloatFunction<T> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToDouble

      public static <T> DoubleIterator mapToDouble(Iterator<? extends T> iterator, ToDoubleFunction<T> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • mapToDouble

      public static <T> DoubleIterator mapToDouble(ObjectIterator<T> iterator, ToDoubleFunction<T> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be mapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is mapped to a new result
    • flatMap

      public static <T, E, V extends Iterable<E>> ObjectIterator<E> flatMap(Iterator<? extends T> iterator, UnaryOperator<T,V> mapper)
      A Helper function that flatMaps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      E - The return type.
      V - The return type supplier.
      Parameter:
      iterator - that should be flatMapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is flatMapped to a new result
    • flatMap

      public static <T, E, V extends Iterable<E>> ObjectIterator<E> flatMap(ObjectIterator<T> iterator, UnaryOperator<T,V> mapper)
      A Helper function that flatMaps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      E - The return type.
      V - The return type supplier.
      Parameter:
      iterator - that should be flatMapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is flatMapped to a new result
    • arrayFlatMap

      public static <T, E> ObjectIterator<E> arrayFlatMap(Iterator<? extends T> iterator, UnaryOperator<T,E[]> mapper)
      A Helper function that flatMaps a Java-Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      E - The return type.
      Parameter:
      iterator - that should be flatMapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is flatMapped to a new result
    • arrayFlatMap

      public static <T, E> ObjectIterator<E> arrayFlatMap(ObjectIterator<T> iterator, UnaryOperator<T,E[]> mapper)
      A Helper function that flatMaps a Iterator into a new Type.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      E - The return type.
      Parameter:
      iterator - that should be flatMapped
      mapper - the function that decides what the result turns into.
      Gibt zurück:
      a iterator that is flatMapped to a new result
    • filter

      public static <T> ObjectIterator<T> filter(Iterator<? extends T> iterator, Predicate<T> filter)
      A Helper function that filters out all desired elements from a Java-Iterator
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be filtered.
      filter - the filter that decides that should be let through
      Gibt zurück:
      a filtered iterator
    • filter

      public static <T> ObjectIterator<T> filter(ObjectIterator<T> iterator, Predicate<T> filter)
      A Helper function that filters out all desired elements
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be filtered.
      filter - the filter that decides that should be let through
      Gibt zurück:
      a filtered iterator
    • distinct

      public static <T> ObjectIterator<T> distinct(ObjectIterator<T> iterator)
      A Helper function that filters out all duplicated elements.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be distinct
      Gibt zurück:
      a distinct iterator
    • distinct

      public static <T> ObjectIterator<T> distinct(Iterator<? extends T> iterator)
      A Helper function that filters out all duplicated elements from a Java Iterator.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be distinct
      Gibt zurück:
      a distinct iterator
    • repeat

      public static <T> ObjectIterator<T> repeat(ObjectIterator<T> iterator, int repeats)
      A Helper function that repeats the Iterator a specific amount of times
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be repeated
      repeats - the amount of times the iterator should be repeated
      Gibt zurück:
      a repeating iterator
    • repeat

      public static <T> ObjectIterator<T> repeat(Iterator<? extends T> iterator, int repeats)
      A Helper function that repeats the Iterator a specific amount of times from a Java Iterator
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be repeated
      repeats - the amount of times the iterator should be repeated
      Gibt zurück:
      a repeating iterator
    • infinite

      public static <T> ObjectIterator<T> infinite(ObjectIterator<T> iterator)
      A Helper function that creates a infinitely looping iterator
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be looping infinitely
      Gibt zurück:
      a infinitely looping iterator
    • infinite

      public static <T> ObjectIterator<T> infinite(Iterator<? extends T> iterator)
      A Helper function that creates a infinitely looping iterator from a Java Iterator
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be looping infinitely
      Gibt zurück:
      a infinitely looping iterator
    • limit

      public static <T> ObjectIterator<T> limit(ObjectIterator<T> iterator, long limit)
      A Helper function that hard limits the Iterator to a specific size
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be limited
      limit - the amount of elements it should be limited to
      Gibt zurück:
      a limited iterator
    • limit

      public static <T> ObjectIterator<T> limit(Iterator<? extends T> iterator, long limit)
      A Helper function that hard limits the Iterator to a specific size from a Java Iterator
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be limited
      limit - the amount of elements it should be limited to
      Gibt zurück:
      a limited iterator
    • sorted

      public static <T> ObjectIterator<T> sorted(ObjectIterator<T> iterator, Comparator<T> sorter)
      A Helper function that sorts the Iterator beforehand. This operation is heavily hurting performance because it rebuilds the entire iterator and then sorts it.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be sorted.
      sorter - the sorter of the iterator. Can be null.
      Gibt zurück:
      a new sorted iterator
    • sorted

      public static <T> ObjectIterator<T> sorted(Iterator<? extends T> iterator, Comparator<T> sorter)
      A Helper function that sorts the Iterator beforehand from a Java Iterator. This operation is heavily hurting performance because it rebuilds the entire iterator and then sorts it.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be sorted.
      sorter - the sorter of the iterator. Can be null.
      Gibt zurück:
      a new sorted iterator
    • peek

      public static <T> ObjectIterator<T> peek(ObjectIterator<T> iterator, Consumer<T> action)
      A Helper function that allows to preview the result of a Iterator.
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be peeked at
      action - callback that receives the value before the iterator returns it
      Gibt zurück:
      a peeked iterator
    • peek

      public static <T> ObjectIterator<T> peek(Iterator<? extends T> iterator, Consumer<T> action)
      A Helper function that allows to preview the result of a Iterator from a Java Iterator
      Typparameter:
      T - the keyType of elements maintained by this Collection
      Parameter:
      iterator - that should be peeked at
      action - callback that receives the value before the iterator returns it
      Gibt zurück:
      a peeked iterator
    • wrap

      public static <T> ObjectIterator<T> wrap(Iterator<? extends T> iterator)
      Helper function to convert a Object Iterator into a Primitive Iterator
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      iterator - that should be converted to a unboxing iterator
      Gibt zurück:
      a primitive iterator
    • wrap

      public static <T> speiger.src.collections.objects.utils.ObjectIterators.ArrayIterator<T> wrap(T... a)
      Returns a Array Wrapping iterator
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - the array that should be wrapped
      Gibt zurück:
      a Iterator that is wrapping a array.
    • wrap

      public static <T> speiger.src.collections.objects.utils.ObjectIterators.ArrayIterator<T> wrap(T[] a, int start, int end)
      Returns a Array Wrapping iterator
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - the array that should be wrapped.
      start - the index to be started from.
      end - the index that should be ended.
      Gibt zurück:
      a Iterator that is wrapping a array.
    • unwrap

      public static <T> int unwrap(T[] a, Iterator<? extends T> i)
      Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - where the elements should be inserted
      i - the source iterator
      Gibt zurück:
      the amount of elements that were inserted into the array.
    • unwrap

      public static <T> int unwrap(T[] a, Iterator<? extends T> i, int offset)
      Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - where the elements should be inserted
      i - the source iterator
      offset - the array offset where the start should be
      Gibt zurück:
      the amount of elements that were inserted into the array.
    • unwrap

      public static <T> int unwrap(T[] a, Iterator<? extends T> i, int offset, int max)
      Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - where the elements should be inserted
      i - the source iterator
      offset - the array offset where the start should be
      max - the maximum values that should be extracted from the source
      Gibt zurück:
      the amount of elements that were inserted into the array.
      Löst aus:
      IllegalStateException - if max is smaller the 0 or if the maximum index is larger then the array
    • unwrap

      public static <T> int unwrap(T[] a, ObjectIterator<T> i)
      A Primitive iterator variant of the ObjectIterators unwrap function Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - where the elements should be inserted
      i - the source iterator
      Gibt zurück:
      the amount of elements that were inserted into the array.
    • unwrap

      public static <T> int unwrap(T[] a, ObjectIterator<T> i, int offset)
      A Primitive iterator variant of the ObjectIterators unwrap function Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - where the elements should be inserted
      i - the source iterator
      offset - the array offset where the start should be
      Gibt zurück:
      the amount of elements that were inserted into the array.
    • unwrap

      public static <T> int unwrap(T[] a, ObjectIterator<T> i, int offset, int max)
      A Primitive iterator variant of the ObjectIterators unwrap function Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      a - where the elements should be inserted
      i - the source iterator
      offset - the array offset where the start should be
      max - the maximum values that should be extracted from the source
      Gibt zurück:
      the amount of elements that were inserted into the array.
      Löst aus:
      IllegalStateException - if max is smaller the 0 or if the maximum index is larger then the array
    • pour

      public static <T> ObjectList<T> pour(ObjectIterator<T> iter)
      A Helper function to pours all elements of a Iterator into a List
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      iter - the elements that should be poured into list.
      Gibt zurück:
      A list of all elements of the Iterator
    • pour

      public static <T> ObjectList<T> pour(ObjectIterator<T> iter, int max)
      A Helper function to pours all elements of a Iterator into a List
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      iter - the elements that should be poured into list.
      max - the maximum amount of elements that should be collected
      Gibt zurück:
      A list of all requested elements of the Iterator
    • pour

      public static <T> int pour(ObjectIterator<T> iter, ObjectCollection<T> c)
      A Helper function to pours all elements of a Iterator into a Collection
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      iter - the elements that should be poured into list.
      c - the collection where the elements should be poured into
      Gibt zurück:
      the amount of elements that were added
    • pour

      public static <T> int pour(ObjectIterator<T> iter, ObjectCollection<T> c, int max)
      A Helper function to pours all elements of a Iterator into a Collection
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      iter - the elements that should be poured into list.
      c - the collection where the elements should be poured into
      max - the maximum amount of elements that should be collected
      Gibt zurück:
      the amount of elements that were added
    • concat

      public static <T> ObjectIterator<T> concat(ObjectIterator<T>... array)
      Helper Iterator that concats other iterators together
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      array - the Iterators that should be concatenated
      Gibt zurück:
      iterator of the inputted iterators
    • concat

      public static <T> ObjectIterator<T> concat(ObjectIterator<T>[] array, int offset, int length)
      Helper Iterator that concats other iterators together
      Typparameter:
      T - the keyType of array that the operation should be applied
      Parameter:
      array - the Iterators that should be concatenated
      offset - where to start within the array
      length - the length of the array
      Gibt zurück:
      iterator of the inputted iterators