我有一个 ArrayList,其中包含一系列整数(表示另一个 ArrayList 中的索引)。
我需要提取每个唯一对,例如...
ArrayList = 1,4,5,7
我需要:
1:4
1:5
1:7
4:5
4:7
5:7
实现这一目标的最简单方法是什么?
将列表转换为Set
和返回以List
进行唯一过滤
for(int i = 0 ; i < list.size(); i ++){
for(int j = i+1 ; j < list.size(); j ++){
System.out.println(list.get(i) + "," + .list.get(j))
}
}
循环遍历第一个元素的所有可能选择。对于其中的每一个,循环遍历第二个的所有可能选择。
我将把发现的重复部分留给你(提示:使用 a Set
)。
您可以有两个索引:一个用于第一部分,另一个用于第二部分。然后用第一种形式从开始到最后一个元素进行迭代,并在内部循环中从第一个到最后一个与第二个形式迭代。
我想知道使用具有单向关系的图结构是否适合这个问题。
这比简单的排列要多得多,但实现起来可能更有趣。特别适用于大量成对。