是否有可能获得两个结果并在JAVA8中使用流加入它们?

时间:2016-05-25 12:20:47

标签: java java-8

我想从远程

获取名称和URL
public interface Remote {
    String getName();

    Remote withName(String name);

    String getUrl();

    Remote withUrl(String url);
}

   List<String> remoteNames = remoteList.stream().map(Remote::getName).filter(name -> name.equalsIgnoreCase(origin)).collect(Collectors.toList());

   List<String> remoteUrls = remoteList.stream().map(Remote::GetUrl).filter(url-> url.equalsIgnoreCase(origin)).collect(Collectors.toList());

是否可以在一次调用中完成并将所有结果都放在一个变量中?

1 个答案:

答案 0 :(得分:1)

创建一个包含两个字段的新类,并在map时创建它:

List<NameAndURL> remotes = remoteList.stream().map(t -> new NameAndURL(t.getName(), t.getURL()))...

您也可以zip the two streams together