In JDK 8 with lambda b93 there was a class java.util.stream.Streams.zip in b93 which could be used to zip streams (this is illustrated in the tutorial Exploring Java8 Lambda
If anyone needs this yet, there is StreamEx.zipWith
function in streamex library:
StreamEx givenNames = StreamEx.of("Leo", "Fyodor")
StreamEx familyNames = StreamEx.of("Tolstoy", "Dostoevsky")
StreamEx fullNames = givenNames.zipWith(familyNames, (gn, fn) -> gn + " " + fn);
fullNames.forEach(System.out::println); // prints: "Leo Tolstoy\nFyodor Dostoevsky\n"