1

我已经定义了一个arrayList如下

    List<List<RiskyPersons>> dataArray = new ArrayList<>();
    

这是 RiskyPersons 类

public class RiskyPersons {
    private SA3Tenant sa3tenant;
    private int NumberofPersonInCategory;
    
    public RiskyPersons(){
    }

    public RiskyPersons(SA3Tenant sa3tenant, int NumberofPersonInCategory) {
        this.sa3tenant = sa3tenant;
        this.NumberofPersonInCategory = NumberofPersonInCategory;
    }
}

然后我已经成功添加数据并保存在dataArrayArrayList 中。以下输出显示ArrayList使用 SOP(dataArray);

[[RiskyPersons{sa3tenant=Homeless.SA3Tenant@3a7cc6b0, NumberofPersonInCategory=99}]]

我想dataArray单独阅读这个 ArrayList 并显示值。如何访问“NumberofPersonInCategory”值?

4

3 回答 3

1

我希望这能帮到您 !

public class RiskyPersons {
    private SA3Tenant sa3tenant;
    private int NumberofPersonInCategory;

    public int getNumberofPersonInCategory() {
        return NumberofPersonInCategory;
    }

    public RiskyPersons(){
    }

    public RiskyPersons(SA3Tenant sa3tenant, int NumberofPersonInCategory) {
        this.sa3tenant = sa3tenant;
        this.NumberofPersonInCategory = NumberofPersonInCategory;
    }
}


List<Integer> values = dataArray.parallelStream().flatMap(Collection::stream).map(RiskyPersons::getNumberofPersonInCategory)
                .collect(Collectors.toCollection(ArrayList::new));
于 2020-05-16T13:30:38.923 回答
1

从 Java-8 及更高版本可以使用stream

dataArray.stream()
    .flatMap(List::stream)
    .map(RiskyPersons::NumberofPersonInCategory)
    .forEach(System.out::println)
于 2020-04-29T05:06:43.900 回答
0

您需要将其迭代两次

for (List<RiskyPersons> rp : dataArray) {
for (RiskyPersons o : rp) {
    System.out.println(o.NumberofPersonInCategory); // unrelated : but its bad naming convention
}
}
于 2020-04-29T04:22:16.003 回答