java9 变化_java9 的语法几乎没有变化

sagaxu

2017-06-04 19:57:18 +08:00

@CRVV C 不是自带了一个 qsort 吗?

@msg7086 我不懂 ruby,但是不到一分钟就 get 到原理了,Java 版的更好懂更好维护吗?

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

import java.util.stream.Collectors;

import java.util.stream.Stream;

public class Print {

private static List> tr(List> m) {

if (m.isEmpty()) {

return Collections.emptyList();

}

List> n = Stream.generate(ArrayList::new).limit(m.get(0).size() - 1).collect(Collectors.toList());

n.forEach(ts -> m.forEach(t -> ts.add(null)));

for (int i = 1; i < m.get(0).size(); i++) {

for (int j = 0; j < m.size(); j++) {

n.get(i - 1).set(m.size() - j - 1, m.get(j).get(i));

}

}

return n;

}

private static String spiral_print(List> m) {

if (m.isEmpty()) return "";

StringBuilder b = new StringBuilder();

m.stream().map(chars -> chars.get(0).toString()).forEachOrdered(b::append);

return b.append(spiral_print(tr(m))).toString();

}

public static void main(String[] args) {

{

List> m = new ArrayList<>();

m.add(Arrays.asList('a', 'b', 'c', 'd'));

m.add(Arrays.asList('e', 'f', 'g', 'h'));

m.add(Arrays.asList('i', 'j', 'k', 'l'));

System.out.println(spiral_print(m));

}

{

List> m = new ArrayList<>();

m.add(Arrays.asList('a', 'b', 'c', 'd'));

System.out.println(spiral_print(m));

}

}

}

@tlday 我始终觉得语法糖这事情,因团队而异,一个人的团队,想怎么写都行。两个人或者人更多的时候,最简单的办法就是看这个团队的中位数工资,8K 的团队,跟 30K 的团队,对语言的要求是完全不同的,8K 眼里的难懂的奇淫技巧,在 30K 眼里可能只是稀松平常。都用 Java,8K 的人看 30K 写的代码,很容易看不懂,30K 看 8K 的很容易心情烦躁,都不利于维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值