我有两个字符串,列表类别和列表选项列表,我的目标是将这两个列表的内容连接为 -
List<String> categories = Arrays.asList(new String[]{"Cat-1" , "Cat-2", "Cat-3"});
List<String> choices = Arrays.asList(new String[]{"Choice-1" , "Choice-2", "Choice-3"});
List<String> result = new ArrayList<>(categories.size() * choices.size());
for (String cat : categories) {
for (String choice: choices) {
result.add(cat + ':' + choice);
}
}
如何使用java Streams实现它。
答案 0 :(得分:8)
您可以在这里使用简单的平面地图:
categories.stream()
.flatMap(left -> choices.stream().map(right -> left + ":" + right))
.collect(Collectors.toList())