@Override public <U, R> IndexedSeq<R> zipWith(Iterable<? extends U> that, BiFunction<? super Character, ? super U, ? extends R> mapper) { Objects.requireNonNull(that, "that is null"); Objects.requireNonNull(mapper, "mapper is null"); IndexedSeq<R> result = Vector.empty(); final io.vavr.collection.Iterator<Character> list1 = iterator(); final java.util.Iterator<? extends U> list2 = that.iterator(); while (list1.hasNext() && list2.hasNext()) { result = result.append(mapper.apply(list1.next(), list2.next())); } return result; }
@Override public io.vavr.collection.Iterator<CharSeq> sliding(int size, int step) { return iterator().sliding(size, step).map(CharSeq::ofAll); }
@Override public <R> IndexedSeq<R> collect(PartialFunction<? super Character, ? extends R> partialFunction) { return Vector.ofAll(iterator().<R> collect(partialFunction)); }
@Override public io.vavr.collection.Iterator<CharSeq> slideBy(Function<? super Character, ?> classifier) { return iterator().slideBy(classifier).map(CharSeq::ofAll); }
@Override public <U> IndexedSeq<Tuple2<Character, U>> zipAll(Iterable<? extends U> that, Character thisElem, U thatElem) { Objects.requireNonNull(that, "that is null"); IndexedSeq<Tuple2<Character, U>> result = Vector.empty(); final io.vavr.collection.Iterator<Character> list1 = iterator(); final java.util.Iterator<? extends U> list2 = that.iterator(); while (list1.hasNext() || list2.hasNext()) { final Character elem1 = list1.hasNext() ? list1.next() : thisElem; final U elem2 = list2.hasNext() ? list2.next() : thatElem; result = result.append(Tuple.of(elem1, elem2)); } return result; }
@Override public <U, R> IndexedSeq<R> zipWith(Iterable<? extends U> that, BiFunction<? super Character, ? super U, ? extends R> mapper) { Objects.requireNonNull(that, "that is null"); Objects.requireNonNull(mapper, "mapper is null"); IndexedSeq<R> result = Vector.empty(); final io.vavr.collection.Iterator<Character> list1 = iterator(); final java.util.Iterator<? extends U> list2 = that.iterator(); while (list1.hasNext() && list2.hasNext()) { result = result.append(mapper.apply(list1.next(), list2.next())); } return result; }
@Override public io.vavr.collection.Iterator<CharSeq> slideBy(Function<? super Character, ?> classifier) { return iterator().slideBy(classifier).map(CharSeq::ofAll); }
@Override public io.vavr.collection.Iterator<CharSeq> sliding(int size, int step) { return iterator().sliding(size, step).map(CharSeq::ofAll); }
@Override public <R> IndexedSeq<R> collect(PartialFunction<? super Character, ? extends R> partialFunction) { return Vector.ofAll(iterator().<R> collect(partialFunction)); }
@Override public <U> IndexedSeq<Tuple2<Character, U>> zipAll(Iterable<? extends U> that, Character thisElem, U thatElem) { Objects.requireNonNull(that, "that is null"); IndexedSeq<Tuple2<Character, U>> result = Vector.empty(); final io.vavr.collection.Iterator<Character> list1 = iterator(); final java.util.Iterator<? extends U> list2 = that.iterator(); while (list1.hasNext() || list2.hasNext()) { final Character elem1 = list1.hasNext() ? list1.next() : thisElem; final U elem2 = list2.hasNext() ? list2.next() : thatElem; result = result.append(Tuple.of(elem1, elem2)); } return result; }