Streamのpeekの実行タイミング

		List<String> strs = Arrays.asList("a", "bbb", "c");

		strs.stream()
		.map(String::toUpperCase).peek(System.out::println)
		.filter(s -> s.length()>2)
		.map(String::toLowerCase).forEach(System.out::println);

の実行結果が

A
BBB
bbb ★終端処理はこれだけ
C

なので終端処理しなくても行われるようだ。期待通り。peekだからな。