一种优雅的方法,通过流中的两个不同的分隔符来连接字符串数组的数组

时间:2016-10-28 15:39:56

标签: java

我们可以使用String.join通过分隔符连接字符串列表。

我现在的问题是我有一组字符串数组。

例如

[(a, b), (c, d), (e,f)], 

我希望通过冒号加入a&b, c&d, e&f,并在这些对之间加入空格。

a:b c:d e:f

有优雅的方法吗?

跟进:

如果你用一个与另一个循环嵌套的循环来执行此操作,那么你在池中创建了很多String变量,这看起来不太好

1 个答案:

答案 0 :(得分:0)

使用Java 8,您可以将它们流式传输到连接收集器的字符串。只需对“内部”数组执行此操作,然后再对结果执行此操作。

String[][] stringsss = new String[][] {
    {"a", "b"},
    {"c", "d"},
    {"e", "f"}
};
String result = Arrays.stream(stringsss)
    .map(e -> Arrays.stream(e).collect(Collectors.joining(":")))
    .collect(Collectors.joining(" "));
System.out.println(result);