趣味编程:静夜思(Java8版)

时间:2014-05-24 22:09:03   收藏:0   阅读:363
import java.util.stream.*;

class KV {
	String ch;
	int id;
}

public class Test {
	private static void print(String text, int offset) {
		IntStream.range(0, text.length())
		.mapToObj(i -> new KV(){{ch = text.substring(i, i + 1); id = i;}})
		.collect(Collectors.groupingBy(kv -> kv.id % offset))
		.forEach((k, kvs) -> System.out.println(
			kvs.stream().map(kv -> kv.ch)
			.reduce((acc, s) -> s + "|" + acc).get()));
	}

	public static void main(String[] args) {
		print("床前明月光疑是地上霜举头望明月低头思故乡", 5);
	}
}

//低|举|疑|床
//头|头|是|前
//思|望|地|明
//故|明|上|月
//乡|月|霜|光

趣味编程:静夜思(Java8版),布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!