我有两个数字列表,我想找到所有可能的数字对。例如,给定列表[1,2,3]
和[3,4]
时,结果应为:
[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]
我知道我可以使用for循环来完成这件事,但是有没有更简洁的方法来使用Java8流来完成这件事呢?
我尝试了以下操作,但由于我得到的是list
而不是list
而错过了一些内容。
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(3, 4);
List<int[]> pairs = list1.stream()
.map(i -> list2.stream()
.map(j -> new int[]{i, j}))
.collect(Collectors.toList());
pairs.forEach(i -> {
System.out.println("{" + i[0] + "," + i[1] + "}");
});
}
使用flatMap()方法而不是map(),它将把流合并为一个。参考:map()和flatMap()之间的差异和flatMap()示例
问题内容: 我有一个清单“ a” 我需要找到一个特定数字的所有元组。说1 我怎么做? 问题答案: 如果只希望第一个数字匹配,则可以这样操作: 如果您仅搜索其中包含1的元组:
在这里您可以看到我带给UIAutomatorViewer的元素。 这是我发现的主要因素。 [![在此处输入图像说明][1]][1]
我有对象列表。 每个项目有1个arrayList Item.propertylist.key.equals(“test”)作为新列表。
对于上述代码,我得到的输出为: 但我的期望是得到。 你能指导我实现这一点吗?
我有以下几门课: 我有一个物品清单。我想遍历列表并找到具有特定ID的实例。我试着通过溪流来做。
问题内容: 我有一个清单: 如何将每个元素乘以5?输出应为: 问题答案: 您可以只使用列表理解: 请注意,列表理解通常是执行循环的更有效方法: 作为替代方案,以下是使用流行的Pandas软件包的解决方案: 或者,如果您只想要列表: