Klasse ByteIterators

java.lang.Object
speiger.src.collections.bytes.utils.ByteIterators

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

    • ByteIterators

      public ByteIterators()
  • Methodendetails

    • empty

      public static speiger.src.collections.bytes.utils.ByteIterators.EmptyIterator empty()
      Returns a Immutable EmptyIterator instance that is automatically casted.
      Gibt zurück:
      an empty iterator
    • invert

      Inverter function for Bidirectional Iterators
      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 ByteListIterator invert(ByteListIterator it)
      Inverter function for List Iterators
      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 ByteIterator unmodifiable(ByteIterator iterator)
      Returns a Immutable Iterator instance based on the instance given.
      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 ByteBidirectionalIterator unmodifiable(ByteBidirectionalIterator iterator)
      Returns a Immutable Iterator instance based on the instance given.
      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 ByteListIterator unmodifiable(ByteListIterator iterator)
      Returns a Immutable ListIterator instance based on the instance given.
      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 <E> ObjectIterator<E> map(Iterator<? extends Byte> iterator, ByteFunction<E> mapper)
      A Helper function that maps a Java-Iterator into a new Type.
      Typparameter:
      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 <E> ObjectIterator<E> map(ByteIterator iterator, ByteFunction<E> mapper)
      A Helper function that maps a Iterator into a new Type.
      Typparameter:
      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
    • flatMap

      public static <E, V extends Iterable<E>> ObjectIterator<E> flatMap(Iterator<? extends Byte> iterator, ByteFunction<V> mapper)
      A Helper function that flatMaps a Java-Iterator into a new Type.
      Typparameter:
      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 <E, V extends Iterable<E>> ObjectIterator<E> flatMap(ByteIterator iterator, ByteFunction<V> mapper)
      A Helper function that flatMaps a Iterator into a new Type.
      Typparameter:
      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 <E> ObjectIterator<E> arrayFlatMap(Iterator<? extends Byte> iterator, ByteFunction<E[]> mapper)
      A Helper function that flatMaps a Java-Iterator into a new Type.
      Typparameter:
      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 <E> ObjectIterator<E> arrayFlatMap(ByteIterator iterator, ByteFunction<E[]> mapper)
      A Helper function that flatMaps a Iterator into a new Type.
      Typparameter:
      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 ByteIterator filter(Iterator<? extends Byte> iterator, BytePredicate filter)
      A Helper function that filters out all desired elements from a Java-Iterator
      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 ByteIterator filter(ByteIterator iterator, BytePredicate filter)
      A Helper function that filters out all desired elements
      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 ByteIterator distinct(ByteIterator iterator)
      A Helper function that filters out all duplicated elements.
      Parameter:
      iterator - that should be distinct
      Gibt zurück:
      a distinct iterator
    • distinct

      public static ByteIterator distinct(Iterator<? extends Byte> iterator)
      A Helper function that filters out all duplicated elements from a Java Iterator.
      Parameter:
      iterator - that should be distinct
      Gibt zurück:
      a distinct iterator
    • repeat

      public static ByteIterator repeat(ByteIterator iterator, int repeats)
      A Helper function that repeats the Iterator a specific amount of times
      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 ByteIterator repeat(Iterator<? extends Byte> iterator, int repeats)
      A Helper function that repeats the Iterator a specific amount of times from a Java Iterator
      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 ByteIterator infinite(ByteIterator iterator)
      A Helper function that creates a infinitely looping iterator
      Parameter:
      iterator - that should be looping infinitely
      Gibt zurück:
      a infinitely looping iterator
    • infinite

      public static ByteIterator infinite(Iterator<? extends Byte> iterator)
      A Helper function that creates a infinitely looping iterator from a Java Iterator
      Parameter:
      iterator - that should be looping infinitely
      Gibt zurück:
      a infinitely looping iterator
    • limit

      public static ByteIterator limit(ByteIterator iterator, long limit)
      A Helper function that hard limits the Iterator to a specific size
      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 ByteIterator limit(Iterator<? extends Byte> iterator, long limit)
      A Helper function that hard limits the Iterator to a specific size from a Java Iterator
      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 ByteIterator sorted(ByteIterator iterator, ByteComparator 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.
      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 ByteIterator sorted(Iterator<? extends Byte> iterator, ByteComparator 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.
      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 ByteIterator peek(ByteIterator iterator, ByteConsumer action)
      A Helper function that allows to preview the result of a Iterator.
      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 ByteIterator peek(Iterator<? extends Byte> iterator, ByteConsumer action)
      A Helper function that allows to preview the result of a Iterator from a Java Iterator
      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 ByteIterator wrap(Iterator<? extends Byte> iterator)
      Helper function to convert a Object Iterator into a Primitive Iterator
      Parameter:
      iterator - that should be converted to a unboxing iterator
      Gibt zurück:
      a primitive iterator
    • wrap

      public static speiger.src.collections.bytes.utils.ByteIterators.ArrayIterator wrap(byte... a)
      Returns a Array Wrapping iterator
      Parameter:
      a - the array that should be wrapped
      Gibt zurück:
      a Iterator that is wrapping a array.
    • wrap

      public static speiger.src.collections.bytes.utils.ByteIterators.ArrayIterator wrap(byte[] a, int start, int end)
      Returns a Array Wrapping iterator
      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 int unwrap(byte[] a, Iterator<? extends Byte> i)
      Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(byte[] a, Iterator<? extends Byte> i, int offset)
      Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(byte[] a, Iterator<? extends Byte> i, int offset, int max)
      Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(byte[] a, ByteIterator i)
      A Primitive iterator variant of the ByteIterators unwrap function Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(byte[] a, ByteIterator i, int offset)
      A Primitive iterator variant of the ByteIterators unwrap function Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(byte[] a, ByteIterator i, int offset, int max)
      A Primitive iterator variant of the ByteIterators unwrap function Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(Byte[] a, ByteIterator i)
      A Function to convert a Primitive Iterator to a Object array. Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(Byte[] a, ByteIterator i, int offset)
      A Function to convert a Primitive Iterator to a Object array. Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 int unwrap(Byte[] a, ByteIterator i, int offset, int max)
      A Function to convert a Primitive Iterator to a Object array. Iterates over a iterator and inserts the values into the array and returns the amount that was inserted
      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 ByteList pour(ByteIterator iter)
      A Helper function to pours all elements of a Iterator into a List
      Parameter:
      iter - the elements that should be poured into list.
      Gibt zurück:
      A list of all elements of the Iterator
    • pour

      public static ByteList pour(ByteIterator iter, int max)
      A Helper function to pours all elements of a Iterator into a List
      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 int pour(ByteIterator iter, ByteCollection c)
      A Helper function to pours all elements of a Iterator into a Collection
      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 int pour(ByteIterator iter, ByteCollection c, int max)
      A Helper function to pours all elements of a Iterator into a Collection
      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 ByteIterator concat(ByteIterator... array)
      Helper Iterator that concats other iterators together
      Parameter:
      array - the Iterators that should be concatenated
      Gibt zurück:
      iterator of the inputted iterators
    • concat

      public static ByteIterator concat(ByteIterator[] array, int offset, int length)
      Helper Iterator that concats other iterators together
      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