Java 8 流:处理列表中每一对可能的元素
2022-09-03 13:42:41
						我有一个任意类的元素。我想循环访问集合,并使用元素和集合中的其他元素(不包括元素本身)执行一些操作。为了简单起见,让它成为:CollectionList<Integer>
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
使用循环,它将是:for
for (Integer i : list) {
    for (Integer j : list) {
        if (!i.equals(j)) System.out.println(i * 2 + j);  //just for example
    }
}
问题是如何使用流 API 执行此操作?
这就是我得出的结论:
list.stream().forEach(i ->
    list.stream().forEach(j -> {
        if (!i.equals(j)) System.out.println(i * 2 + j);
    })
);
不过,它看起来并不比嵌套循环更好。有没有更优雅的方式?
 
					 
				 
				    		 
				    		 
				    		