如何有效地获得所有成对的集合?

Joh*_*ood 9 java set

给定a的对象Set,我想遍历所有(无序)对.

示例:Set = {1,2,3},对:(1,2),(1,3),(2,3).

在处理a时Vector<Integer>,可以借助每个元素的索引来实现:

for (int i = 0; i < vector.size(); i++)
  for (int j = i + 1; j < vector.size(); j++)
    // Do something with vector.get(i) and vector.get(j)
Run Code Online (Sandbox Code Playgroud)

但是a中的元素Set<Integer>没有索引.

到目前为止,我找到的最佳解决方案是将其转换Set为a Vector并使用上述解决方案.

有更有效/直接的解决方案吗?

Ami*_*deh 9

List<Integer> list = new ArrayList<Integer>(mySet);
for (int i = 0; i < list .size(); i++)
    for (int j = i + 1; j < list .size(); j++)
        // Do something with vector.get(i) and vector.get(j)
Run Code Online (Sandbox Code Playgroud)

  • Op说他需要用套装做同样的事情,他已经知道如何处理清单.# (2认同)