gpt4 book ai didi

java - 谷歌 Guava 嵌套木工

转载 作者:搜寻专家 更新时间:2023-11-01 02:31:47 26 4
gpt4 key购买 nike

Google Guava 中的 Joiner(Google 集合的超集)非常酷。我的问题是有没有一种简单的方法来处理嵌套集合?例如,我有一个矩阵,它是一个行列表,每一行都是一个数字列表:

List<ArrayList<Integer>> matrix = Lists.newArrayList( //
Lists.newArrayList(1, 2, 3), //
Lists.newArrayList(4, 5, 6), //
Lists.newArrayList(7, 8, 9));

我想通过使用换行符作为行分隔符并使用“,”作为数字分隔符来输出这个矩阵。即:

1, 2, 3
4, 5, 6
7, 8, 9

如果它只是一行,我可以简单地使用一些代码,如“Joiner.on(”,”).nums”。对于这种嵌套情况,我必须循环所有行。

有没有更优雅的方式?

谢谢!

最佳答案

循环对我来说似乎很好。也就是说,您可以做:

// implementation is simple enough
public static Function<Iterable<?>, String> joinFunction(Joiner joiner) { ... }

String string = Joiner.on('\n').join(
Iterables.transform(matrix, joinFunction(Joiner.on(", "))));

你在那里失去了一些效率,因为你不能将所有文本附加到单个 StringBuilder,不过,我认为循环可能更容易理解。

关于java - 谷歌 Guava 嵌套木工,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7668174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com