从 Java 中的 ArrayList 获取唯一的元素对

问题描述 投票:0回答:5

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

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

ArrayList = 1,4,5,7

我需要:

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

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

java arraylist
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))    
  }
}

0
投票

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

我将把查找重复项的部分留给您(提示:使用

Set
)。


0
投票

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


0
投票

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

这比简单的排列需要更多的工作,但实现起来可能更有趣。特别适合大量配对。


0
投票

根据给定的示例回答您的问题:您不需要转换为 Set 或 List:

 for (int i = 0; i < input.length; i++) {
        for (int j = i + 1; j < input.length; j++) {
            if (i != j) {
                System.out.println(input[i] + "," + input[j]);
            }
        }
    }

示例: -> int[] input = {1,4,5,7};

输出:

1,4
1,5
1,7
4,5
4,7
5,7
© www.soinside.com 2019 - 2024. All rights reserved.