如何使用java 8将二维对象集/数组列表转换为一个平面集/列表

如何使用java 8将二维对象集/数组列表转换为一个平面集/列表,java,java-8,java-stream,collectors,Java,Java 8,Java Stream,Collectors,我是java 8新手,我有一组集合,例如: Set<Set<String>> aa = new HashSet<>(); Set<String> w1 = new HashSet<>(); w1.add("1111"); w1.add("2222"); w1.add("3333"); Set<String> w2 = new HashSet<>(); w2.add("4444"); w2.add("5555"

我是java 8新手,我有一组集合,例如:

Set<Set<String>> aa = new HashSet<>();
Set<String> w1 = new HashSet<>();

w1.add("1111");
w1.add("2222");
w1.add("3333");

Set<String> w2 = new HashSet<>();
w2.add("4444");
w2.add("5555");
w2.add("6666");

Set<String> w3 = new HashSet<>();
w3.add("77777");
w3.add("88888");
w3.add("99999");

aa.add(w1);
aa.add(w2);
aa.add(w3);
Set aa=new HashSet();
Set w1=新的HashSet();
w1.添加(“1111”);
w1.添加(“2222”);
w1.添加(“3333”);
Set w2=新的HashSet();
w2.添加(“4444”);
w2.添加(“5555”);
w2.添加(“6666”);
Set w3=新的HashSet();
w3.添加(“77777”);
w3.添加(“88888”);
w3.添加(“99999”);
aa.加入(w1);
aa.加入(w2);
aa.加入(w3);
预期结果:平集…类似于:

但它不起作用

// HERE I WANT To Convert into FLAT Set 
// with the best PERFORMANCE !!
Set<String> flatSet = aa.stream().flatMap(a -> setOfSet.stream().flatMap(ins->ins.stream().collect(Collectors.toSet())).collect(Collectors.toSet()));
//这里我想转换成平面集
//以最好的表现!!
Set flatSet=aa.stream().flatMap(a->setOfSet.stream().flatMap(ins->ins.stream().collect(Collectors.toSet()).collect(Collectors.toSet());
有什么想法吗