Skip to content

Sequence.group(BiPredicate) doesn't do what it says it does #16

@gdejohn

Description

@gdejohn

/**
* Split this sequence into runs of elements such that pairs of adjacent elements satisfy a binary predicate.
*
* @see Sequence#group()
* @see Sequence#group(long)
*/
public Sequence<Sequence<T>> group(BiPredicate<? super T, ? super T> predicate) {
return Sequence.lazy(
() -> this.matchLazy(
(head, tail) -> tail.span(element -> predicate.test(head.get(), element)).match(
(equal, rest) -> Sequence.cons(
Sequence.cons(head, equal),
rest.group(predicate)
)
),
Sequence.empty()
)
);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions