使用Java流将两个集合的元素与定界符连接

Hav3n

我有两个说法:

ImmutableSet<String> firstSet = ImmutableSet.of("1","2","3");
ImmutableSet<String> secondSet = ImmutableSet.of("a","b","c");

我想得到一个集合,该集合由第一个集合的元素与第二个集合的每个元素串联在一起,以及一个定界符,即输出应为:

ImmutableSet<String> thirdSet = ImmutableSet.of("1.a","1.b","1.c","2.a","2.b","2.c","2.c","3.a","3.b","3.c");

(这是我的定界符“。”)

我最初以为我可以通过流传输第一组并应用第二组Collectors.joining()的元素来做到这一点,但这并不能解决我的需要。

普什莫

看来您正在使用番石榴。在这种情况下,您只需使用Sets.cartesianProduct方法

Set<List<String>> cartesianProduct = Sets.cartesianProduct(firstSet,secondSet);
for (List<String> pairs : cartesianProduct) {
    System.out.println(pairs.get(0) + "." + pairs.get(1));
}

输出:

1.a
1.b
1.c
2.a
2.b
2.c
3.a
3.b
3.c

如果您想收集它,ImmutableSet<String>可以使用

ImmutableSet<String> product = ImmutableSet.copyOf(
        cartesianProduct.stream()
                        .map(pairs -> pairs.get(0) + "." + pairs.get(1))
                        .toArray(String[]::new)
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用两个不同的定界符读取CSV

使用两个定界符将CSV导入熊猫

使用定界符“”(空格)将查询分为两个参数-AppleScript

将cut / awk / sed与两个不同的定界符一起使用

将文件加载到数组中,并使用两个定界符将其分隔两次

最好的方法是用两个不同的定界符来分割字符串,将两个词都大写(仅包含一个定界符,然后再添加两个定界符)?

用两个定界符将字符串分成两列

使用定界符将两个一维String数组合并为单个数组

用Python中的多个定界符将一个列分成两个

提取两个相同定界符(多实例定界符)之间的行

如何清除两个外部定界符之间的内部定界符

awk删除文本并分割两个定界符

具有两个定界符的csv

在两个定界符之间查找文本

如何删除两个定界符之间的字符?

麻烦在awk中的两个定界符

在一行上的两个定界符之间(包括两个定界符)打印文本

Java中两个定界符之间的子字符串

Java扫描器-两个定界符和异常

如何使用Python 2.7在两个定界符内查找值

如何在bash中使用定界符逐行合并两个文件

在SAS中使用两个定界符导入文件

如何使用Unix在两个相邻的定界符之间插入空格字符?

如何使用定界符将HashSet的元素连接到字符串中

根据最后两个定界符将字符串分成两部分

Python Regex:两个定界符之间的单词-用标点符号替换前导定界符,但删除结尾的定界符

两个相同或不同定界符之间的子字符串(当定界符出现多次时)

您如何仅通过最后两个定界符对列进行定界?

将两列的表连接到带有2个定界符的单个字符串中