Package fj.data.vector
Class V8<A>
- java.lang.Object
-
- fj.data.vector.V8<A>
-
- All Implemented Interfaces:
java.lang.Iterable<A>
public final class V8<A> extends java.lang.Object implements java.lang.Iterable<A>
A vector-8.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <A> F<V8<A>,A>
__1()
A first-class function to get the first element of a vector.static <A> F<V8<A>,A>
__2()
A first-class function to get the second element of a vector.static <A> F<V8<A>,A>
__3()
A first-class function to get the third element of a vector.static <A> F<V8<A>,A>
__4()
A first-class function to get the fourth element of a vector.static <A> F<V8<A>,A>
__5()
A first-class function to get the fifth element of a vector.static <A> F<V8<A>,A>
__6()
A first-class function to get the sixth element of a vector.static <A> F<V8<A>,A>
__7()
A first-class function to get the seventh element of a vector.static <A> F<V8<A>,A>
__8()
A first-class function to get the eighth element of a vector.A
_1()
Returns the first element of this vector.A
_2()
Returns the second element of this vector.A
_3()
Returns the third element of this vector.A
_4()
Returns the fourth element of this vector.A
_5()
Returns the fifth element of this vector.A
_6()
Returns the sixth element of this vector.A
_7()
Returns the seventh element of this vector.A
_8()
Returns the eighth element of this vector.<B> V8<B>
apply(V8<F<A,B>> vf)
Performs function application within a vector (applicative functor pattern).static <A> V8<A>
cons(P1<A> head, V7<A> tail)
Creates a vector-8 from a head and a tail.boolean
equals(java.lang.Object other)
int
hashCode()
P1<A>
head()
Returns the first element of this vector, as a product-1.java.util.Iterator<A>
iterator()
Returns an iterator for the elements of this vector.<B> V8<B>
map(F<A,B> f)
Maps the given function across this vector.P8<A,A,A,A,A,A,A,A>
p()
Returns a homogeneous product-8 equivalent to this vector.static <A> V8<A>
p(P8<A,A,A,A,A,A,A,A> p)
Creates a vector-8 from a homogeneous product-8.static <A> F<V8<A>,P8<A,A,A,A,A,A,A,A>>
p_()
Returns a function that transforms a vector-8 to the equivalent product-8.V7<A>
tail()
Returns all but the first element of this vector, as a vector-7.Array<A>
toArray()
Returns an array with the elements of this vector.NonEmptyList<A>
toNonEmptyList()
Returns a nonempty list with the elements of this vector.Stream<A>
toStream()
Returns a stream of the elements of this vector.static <A> F<V8<A>,Stream<A>>
toStream_()
Returns a function that transforms a vector-8 to a stream of its elements.V8<V2<A>>
vzip(V8<A> bs)
Zips this vector with the given vector to produce a vector of vectors.<B> V8<P2<A,B>>
zip(V8<B> bs)
Zips this vector with the given vector to produce a vector of pairs.<B,C>
V8<C>zipWith(F<A,F<B,C>> f, V8<B> bs)
Zips this vector with the given vector using the given function to produce a new vector.
-
-
-
Method Detail
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
p
public static <A> V8<A> p(P8<A,A,A,A,A,A,A,A> p)
Creates a vector-8 from a homogeneous product-8.- Parameters:
p
- The product-8 from which to create a vector.- Returns:
- A new vector-8.
-
cons
public static <A> V8<A> cons(P1<A> head, V7<A> tail)
Creates a vector-8 from a head and a tail.- Parameters:
head
- The value to put as the first element of the vector.tail
- The vector representing all but the first element of the new vector.- Returns:
- The new vector.
-
_1
public A _1()
Returns the first element of this vector.- Returns:
- the first element of this vector.
-
_2
public A _2()
Returns the second element of this vector.- Returns:
- the second element of this vector.
-
_3
public A _3()
Returns the third element of this vector.- Returns:
- the third element of this vector.
-
_4
public A _4()
Returns the fourth element of this vector.- Returns:
- the fourth element of this vector.
-
_5
public A _5()
Returns the fifth element of this vector.- Returns:
- the fifth element of this vector.
-
_6
public A _6()
Returns the sixth element of this vector.- Returns:
- the sixth element of this vector.
-
_7
public A _7()
Returns the seventh element of this vector.- Returns:
- the seventh element of this vector.
-
_8
public A _8()
Returns the eighth element of this vector.- Returns:
- the eighth element of this vector.
-
tail
public V7<A> tail()
Returns all but the first element of this vector, as a vector-7.- Returns:
- all but the first element of this vector, as a vector-7.
-
head
public P1<A> head()
Returns the first element of this vector, as a product-1.- Returns:
- the first element of this vector, as a product-1.
-
iterator
public java.util.Iterator<A> iterator()
Returns an iterator for the elements of this vector.- Specified by:
iterator
in interfacejava.lang.Iterable<A>
- Returns:
- an iterator for the elements of this vector.
-
p
public P8<A,A,A,A,A,A,A,A> p()
Returns a homogeneous product-8 equivalent to this vector.- Returns:
- a homogeneous product-8 equivalent to this vector.
-
toNonEmptyList
public NonEmptyList<A> toNonEmptyList()
Returns a nonempty list with the elements of this vector.- Returns:
- a nonempty list with the elements of this vector.
-
toStream
public Stream<A> toStream()
Returns a stream of the elements of this vector.- Returns:
- a stream of the elements of this vector.
-
toArray
public Array<A> toArray()
Returns an array with the elements of this vector.- Returns:
- an array with the elements of this vector.
-
map
public <B> V8<B> map(F<A,B> f)
Maps the given function across this vector.- Parameters:
f
- The function to map across this vector.- Returns:
- A new vector after the given function has been applied to each element.
-
apply
public <B> V8<B> apply(V8<F<A,B>> vf)
Performs function application within a vector (applicative functor pattern).- Parameters:
vf
- The vector of functions to apply.- Returns:
- A new vector after zipping the given vector of functions over this vector.
-
zipWith
public <B,C> V8<C> zipWith(F<A,F<B,C>> f, V8<B> bs)
Zips this vector with the given vector using the given function to produce a new vector.- Parameters:
bs
- The vector to zip this vector with.f
- The function to zip this vector and the given vector with.- Returns:
- A new vector with the results of the function.
-
zip
public <B> V8<P2<A,B>> zip(V8<B> bs)
Zips this vector with the given vector to produce a vector of pairs.- Parameters:
bs
- The vector to zip this vector with.- Returns:
- A new vector with a length the same as the shortest of this vector and the given vector.
-
vzip
public V8<V2<A>> vzip(V8<A> bs)
Zips this vector with the given vector to produce a vector of vectors.- Parameters:
bs
- The vector to zip this vector with.- Returns:
- A new vector of vectors.
-
toStream_
public static <A> F<V8<A>,Stream<A>> toStream_()
Returns a function that transforms a vector-8 to a stream of its elements.- Returns:
- a function that transforms a vector-8 to a stream of its elements.
-
p_
public static <A> F<V8<A>,P8<A,A,A,A,A,A,A,A>> p_()
Returns a function that transforms a vector-8 to the equivalent product-8.- Returns:
- a function that transforms a vector-8 to the equivalent product-8.
-
__1
public static <A> F<V8<A>,A> __1()
A first-class function to get the first element of a vector.- Returns:
- a function that gets the first element of a given vector.
-
__2
public static <A> F<V8<A>,A> __2()
A first-class function to get the second element of a vector.- Returns:
- a function that gets the second element of a given vector.
-
__3
public static <A> F<V8<A>,A> __3()
A first-class function to get the third element of a vector.- Returns:
- a function that gets the third element of a given vector.
-
__4
public static <A> F<V8<A>,A> __4()
A first-class function to get the fourth element of a vector.- Returns:
- a function that gets the fourth element of a given vector.
-
__5
public static <A> F<V8<A>,A> __5()
A first-class function to get the fifth element of a vector.- Returns:
- a function that gets the fifth element of a given vector.
-
__6
public static <A> F<V8<A>,A> __6()
A first-class function to get the sixth element of a vector.- Returns:
- a function that gets the sixth element of a given vector.
-
__7
public static <A> F<V8<A>,A> __7()
A first-class function to get the seventh element of a vector.- Returns:
- a function that gets the seventh element of a given vector.
-
-