在Java中,如果你想在Set中去重處理嵌套集合,可以使用以下方法:
Set<Set<T>>
來存儲嵌套集合。這樣,你可以確保每個內部集合都是唯一的。import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<Set<Integer>> nestedSet = new HashSet<>();
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
nestedSet.add(set1);
Set<Integer> set2 = new HashSet<>();
set2.add(3);
set2.add(4);
nestedSet.add(set2);
Set<Integer> set3 = new HashSet<>();
set3.add(1);
set3.add(2);
nestedSet.add(set3); // 這個set3會被忽略,因為它與set1重復
System.out.println(nestedSet);
}
}
Map<T, Boolean>
來存儲嵌套集合的元素計數。這樣,你可以確保每個元素在嵌套集合中只出現一次。import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Map<Set<Integer>, Boolean> nestedMap = new HashMap<>();
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
nestedMap.put(set1, true);
Set<Integer> set2 = new HashSet<>();
set2.add(3);
set2.add(4);
nestedMap.put(set2, true);
Set<Integer> set3 = new HashSet<>();
set3.add(1);
set3.add(2);
nestedMap.putIfAbsent(set3, true); // 這個set3會被添加,因為它與set1重復,但不會影響set2
System.out.println(nestedMap.keySet());
}
}
這兩種方法都可以幫助你在Set中去重處理嵌套集合。你可以根據自己的需求選擇合適的方法。