裏面我有一組這樣的:比較組一組
Set<Set<Node>> NestedSet = new HashSet<Set<Node>>();
[[Node[0], Node[1], Node[2]], [Node[0], Node[2], Node[6]], [Node[3], Node[4], Node[5]]]
我想比較和合並組是嵌套組內。 [0,1,2]和[0,2,6]具有共同的元素。所以應該將它們合併爲0,1,2,6。
輸出應該是這樣的:
[[Node[0], Node[1], Node[2], Node[6]], [Node[3], Node[4], Node[5]]]
有沒有什麼有效的方法?
您可以使用https://github.com/google/guava有兩個嵌套組之間的相交路口,如果> 0,則合併這兩個集。當然,這不是最有效的方式,因爲你必須在最壞的情況下比較O(n^2)元素。 –