interleave method

Set<E> interleave(
  1. Iterable<E> it
)

Combines elements by taking turns. First element in original iterable is the first element of the result.

1, 2, 3.interleave(4, 5, 6) returns 1, 4, 2, 5, 3, 6.

Excess elements are added to the end: 1, 2, 3.interleave(4) returns 1, 4, 2, 3. 4.interleave(1, 2, 3) returns 4, 1, 2, 3.

Implementation

Set<E> interleave(Iterable<E> it) {
  return h.interleaveIterable(this, it).toSet();
}