首页 > 解决方案 > 如何在for循环中选择除当前元素之外的所有元素?

问题描述

我处于一种情况,我想在 for 循环的每次交互中处理当前元素与循环中的其他元素,而不是当前元素本身,以便检查元素与其他元素的交集。更具体地说,我实现了一个图,其中每个node都与一个ArrayList<Set<Integer>>.

到目前为止我所做的如下:

 for (ArrayList<Set<Integer>> ds : allArrays) {
        
        numberOfOverlaps = 0;
        allArraysCopy = allArrays;
        allArraysCopy.remove(ds);
     
        if (itNodes.hasNext())
             currentNode = itNodes.next();
       
        for (ArrayList<Set<Integer>> otherDs : allArraysCopy){
            if (arraySetIntersect(ds,otherDs)) {
                numberOfOverlaps++;
                neighborsOverlaps.put(numberOfOverlaps,currentNode);
            }
        }
    }

在我的代码中,我将节点的索引设置为与 set 数组的索引相关联:例如,第一个 set 数组ds与第一个节点相关联。

为了检查for循环中的其他交叉点是allArraysCopy.remove(ds);好方法吗?谢谢。

标签: javafor-loopgraphnodesoverlap

解决方案


推荐阅读