Package extra166y

Class ParallelArrayWithFilter<T>

  • Direct Known Subclasses:
    ParallelArrayWithBounds

    public abstract class ParallelArrayWithFilter<T>
    extends ParallelArrayWithMapping<T,​T>
    A prefix view of ParallelArray that causes operations to apply only to elements for which a selector returns true. Instances of this class may be constructed only via prefix methods of ParallelArray or its other prefix classes.
    • Method Detail

      • replaceWithMapping

        public ParallelArrayWithFilter<T> replaceWithMapping​(Ops.Op<? super T,​? extends T> op)
        Replaces elements with the results of applying the given op to their current values.
        Parameters:
        op - the op
        Returns:
        this (to simplify use in expressions)
      • replaceWithMappedIndex

        public ParallelArrayWithFilter<T> replaceWithMappedIndex​(Ops.IntToObject<? extends T> op)
        Replaces elements with the results of applying the given op to their indices
        Parameters:
        op - the op
        Returns:
        this (to simplify use in expressions)
      • replaceWithMappedIndex

        public ParallelArrayWithFilter<T> replaceWithMappedIndex​(Ops.IntAndObjectToObject<? super T,​? extends T> op)
        Replaces elements with the results of applying the given mapping to each index and current element value
        Parameters:
        op - the op
        Returns:
        this (to simplify use in expressions)
      • replaceWithGeneratedValue

        public ParallelArrayWithFilter<T> replaceWithGeneratedValue​(Ops.Generator<? extends T> generator)
        Replaces elements with results of applying the given generator.
        Parameters:
        generator - the generator
        Returns:
        this (to simplify use in expressions)
      • replaceWithValue

        public ParallelArrayWithFilter<T> replaceWithValue​(T value)
        Replaces elements with the given value.
        Parameters:
        value - the value
        Returns:
        this (to simplify use in expressions)
      • replaceWithMapping

        public <V,​W> ParallelArrayWithFilter<T> replaceWithMapping​(Ops.BinaryOp<? super T,​? super V,​? extends T> combiner,
                                                                         ParallelArrayWithMapping<W,​V> other)
        Replaces elements with results of applying op(thisElement, otherElement)
        Parameters:
        other - the other array
        combiner - the combiner
        Returns:
        this (to simplify use in expressions)
      • replaceWithMapping

        public ParallelArrayWithFilter<T> replaceWithMapping​(Ops.BinaryOp<T,​T,​T> combiner,
                                                             T[] other)
        Replaces elements with results of applying op(thisElement, otherElement)
        Parameters:
        other - the other array
        combiner - the combiner
        Returns:
        this (to simplify use in expressions)
      • allUniqueElements

        public ParallelArray<T> allUniqueElements()
        Returns a new ParallelArray containing only non-null unique elements (that is, without any duplicates). This method uses each element's equals method to test for duplication.
        Returns:
        the new ParallelArray
      • allNonidenticalElements

        public ParallelArray<T> allNonidenticalElements()
        Returns a new ParallelArray containing only non-null unique elements (that is, without any duplicates). This method uses reference identity to test for duplication.
        Returns:
        the new ParallelArray
      • withFilter

        public abstract ParallelArrayWithFilter<T> withFilter​(Ops.Predicate<? super T> selector)
        Returns an operation prefix that causes a method to operate only on elements for which the current selector (if present) and the given selector returns true
        Parameters:
        selector - the selector
        Returns:
        operation prefix
      • withFilter

        public <V,​W> ParallelArrayWithFilter<T> withFilter​(Ops.BinaryPredicate<? super T,​? super V> selector,
                                                                 ParallelArrayWithMapping<W,​V> other)
        Returns an operation prefix that causes a method to operate only on elements for which the current selector (if present) and the given binary selector returns true
        Parameters:
        selector - the selector
        Returns:
        operation prefix
      • withIndexedFilter

        public abstract ParallelArrayWithFilter<T> withIndexedFilter​(Ops.IntAndObjectPredicate<? super T> selector)
        Returns an operation prefix that causes a method to operate only on elements for which the current selector (if present) and the given indexed selector returns true
        Parameters:
        selector - the selector
        Returns:
        operation prefix
      • hasAllEqualElements

        public <U,​V> boolean hasAllEqualElements​(ParallelArrayWithMapping<U,​V> other)
        Returns true if all elements at the same relative positions of this and other array are equal.
        Parameters:
        other - the other array
        Returns:
        true if equal
      • hasAllIdenticalElements

        public <U,​V> boolean hasAllIdenticalElements​(ParallelArrayWithMapping<U,​V> other)
        Returns true if all elements at the same relative positions of this and other array are identical.
        Parameters:
        other - the other array
        Returns:
        true if equal