流式传输问题:从列表列表中获取属性的最佳方法

问题描述 投票:0回答:1

我已经创建了一个列表,例如100种配置。我已将该列表分为10组,所以现在有了List<List<Config>>。所有这些配置都有一个公共属性值domainCode。我获得该属性的最佳方法是什么?说配置域类看起来像这样:

public class Config {

    private String configId;
    private String portfolioId;
    private String domainCode;

    public Config(String configId, String portfolioId, String domainCode) {
        this.configId = configId;
        this.portfolioId = portfolioId;
        this.domainCode = domainCode;
    }

    public String getConfigId() { return configId;}
    public String getPortfolioSymbolCode() { return portfolioId;}
    public String getDomainCode() { return domainCode; }
}

我建立了100个,然后将它们分组:

    List<Config> configs = getAllConfigs();
    List<List<Config>> partitionedConfigs = new ArrayList<>();
    if (configs != null) {
        AtomicInteger counter = new AtomicInteger();
        partitionedConfigs.addAll(configs.stream()
                .collect(Collectors.groupingBy(it -> counter.getAndIncrement() / 10))
                .values());
    }

我将partitionedConfigs传递给方法。该方法需要domainCode。从domainCode中提取单个partitionedConfigs的有效方法是什么?

java stream java-stream
1个回答
0
投票

您可以从configs列表中自行获取

List<String> domains = configs.stream()
                              .map(Config::getDomainCode)
                              .collect(Collectors.toList());
© www.soinside.com 2019 - 2024. All rights reserved.