Java 8 Java8流由两列组成

Java 8 Java8流由两列组成,java-8,java-stream,Java 8,Java Stream,所以我有一门课: class AA { private int number; private String name; private String other; public AA(int number, String name, String other) { this.number = number; this.name = name; this.other = other; } public int getNumber() { return nu

所以我有一门课:

class AA {
private int number;
private String name; 
private String other; 

public AA(int number, String name, String other) {
    this.number = number;
    this.name = name;
    this.other = other;
}

public int getNumber() {
    return number;
}

public void setNumber(int number) {
    this.number = number;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getOther() {
    return other;
}

public void setOther(String other) {
    this.other = other;
}

@Override
public String toString() {
    return "AA{" + "number=" + number + ", name=" + name + ", other=" +  
other + '}';
}
}
我创建了一个列表:

    List<AA> list = new ArrayList<>();
    list.add(new AA(1, "1TEXT", "one"));
    list.add(new AA(2, "1TEXT", "two"));
    list.add(new AA(3, "2TEXT", "three"));
    list.add(new AA(1, "2TEXT", "four"));
    list.add(new AA(1, "2TEXT", "one"));
上述代码将通过编号…进行连接。。。。 Bu如何使用两列进行分组

编辑: 我想去

Map<Integer, List<String>>
在列表中我们还有其他字段吗
我不认为你在找第二组。您需要的只是映射按其他属性分组的AA实例。您可以使用下游收集器映射来实现这一点

查看所需的输出,似乎需要设置为值,而不是列表


我不认为你在找第二组。您需要的只是映射按其他属性分组的AA实例。您可以使用下游收集器映射来实现这一点

查看所需的输出,似乎需要设置为值,而不是列表


你想以什么结束?一张地图?谢谢我更新了我的帖子:我不明白-如果你拿出一张只折叠在一个维度上的地图,你怎么说是由两列组成的?一个维度是整数,第二个维度是列表。当我决定使用“两列分组”时,是否必须始终在地图中获取地图?您希望得到什么?一张地图?谢谢我更新了我的帖子:我不明白-如果你拿出一张只折叠在一个维度上的地图,你怎么说是由两列组成的?一个维度是整数,第二个维度是列表。当我决定使用“两列分组”时,是否必须始终在地图中获取地图?
Map<Integer,List<AA>> ss = list.stream().collect(Collectors.groupingBy(AA::getNumber));
Map<Integer, List<String>>
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.mapping;
import static java.util.stream.Collectors.toSet;

...

Map<Integer, Set<String>> map = 
    list.stream()
        .collect(groupingBy(AA::getNumber, mapping(AA::getOther, toSet())));