将二维字符数组转换为一维字符串数组

3
如何使用流来完成这个任务?
例如:
char ch[0][]={'a','b','c'};
     ch[1][]={'d','e','f'};
     ch[2][]={'g','h','i'};

to:

String s[]={"abc","def","ghi"};

2
你有尝试过吗?在这里展示你的尝试。 - Thomas Fritsch
@melwil并不是因为他要求使用Stream Api! - Aaron Stein
我承认这些问题不同,不能算是重复。继续吧 :-) - melwil
2
这个问题为什么被认为是“过于宽泛”的?在我看来,它非常直接明了。 - Jacob G.
2个回答

6
代码已经解释得很清楚了。但是下次请尝试去实践一下。
char[][] ch = new char[3][];
ch[0] = new char[]{'a', 'b', 'c'};
ch[1] = new char[]{'d', 'e', 'f'};
ch[2] = new char[]{'g', 'h', 'i'};

String[] arr = Arrays.stream(ch)
        .map(String::new)
        .toArray(String[]::new);

1
刚想发布这个完全正确的解决方案! - Jacob G.

0
你也可以使用Stream.of()选项,而不是Arrays.stream
char[][] ch = new char[3][];
ch[0] = new char[]{'a', 'b', 'c'};
ch[1] = new char[]{'d', 'e', 'f'};
ch[2] = new char[]{'g', 'h', 'i'};

String[] s = Stream.of(ch)
       .map(String::new)
       .toArray(String[]::new);

或者,如果你想将其转换为一个 List<String>

List<String> list = Stream.of(ch)
        .map(String::new)
        .collect(Collectors.toList());

谢谢大家。我确实尝试过在网上搜索,但没有找到答案。 - Quan
@Quan 当我的或Daniel Taubs的回答帮助到您时:您可能希望将其标记为正确答案,以便其他人可以看到您的问题已得到解决。 - Aaron Stein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接