4

我有一个 ArrayList,其中包含一系列整数(表示另一个 ArrayList 中的索引)。

我需要提取每个唯一对,例如...

ArrayList = 1,4,5,7

我需要:

1:4
1:5
1:7
4:5
4:7
5:7

实现这一目标的最简单方法是什么?

4

4 回答 4

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))    
  }
}
于 2012-06-14T14:50:03.930 回答
0

循环遍历第一个元素的所有可能选择。对于其中的每一个,循环遍历第二个的所有可能选择。

我将把发现的重复部分留给你(提示:使用 a Set)。

于 2012-06-14T14:50:12.213 回答
0

您可以有两个索引:一个用于第一部分,另一个用于第二部分。然后用第一种形式从开始到最后一个元素进行迭代,并在内部循环中从第一个到最后一个与第二个形式迭代。

于 2012-06-14T14:50:27.383 回答
0

我想知道使用具有单向关系的图结构是否适合这个问题。

这比简单的排列要多得多,但实现起来可能更有趣。特别适用于大量成对。

于 2012-06-14T14:54:06.640 回答