使用set集合类来做,先将得到的每个集合排序,然后将排序之后的集合放到set集合中,set集合会将重复的集合去掉,只保留单个不重复的集合。
代码如下:
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Set;

/*
 * n个集合去重。 例如有3个集合 {1,2},{2,1},{3} 
 * 但其实前两个属于同一个集合,去除重复的,最后输出两个集合{1,2},{3}
 * */
public class 集合去重 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
input.nextLine();
Set<LinkedList<Integer>> set=new LinkedHashSet<>();
for(int i=0;i<n;i++){
LinkedList<Integer> list=new LinkedList<>();
String strings[]=input.nextLine().split(" ");
int temp[]=new int[strings.length];
for(int j=0;j<strings.length;j++)
temp[j]=Integer.parseInt(strings[j]);
Arrays.sort(temp);
for(int j=0;j<strings.length;j++)
list.add(temp[j]);
set.add(list);
}
System.out.println(set);
input.close();
}
}