使用java 8从内部对象中查找实体列表中所有ID列表的方法

我有一个实体:


public class Entity

{

    private long id;    

    private InnerEnity data;


    public long getId() {

        return id;

    }


    public InnerEnity getData() {

        return data;

    }

}

内在实体类


public class InnerEnity 

{

    private long id;    

    private String data;


    public long getId() {

        return id;

    }


    public String getData() {

        return data;

    }

}

我需要的是 InnerEnity id 列表。为了解决这个问题,我尝试了类似的方法:-


列出 innerEnityIds = listOfEnity.stream().map(sys -> sys.getData().stream().map(obj->obj.getId().collect(Collectors.toList())));


互换的青春
浏览 422回答 2
2回答

胡说叔叔

您只需map要将entity其内部实体的(data)id作为:List<Long>&nbsp;innerEnityIds&nbsp;=&nbsp;listOfEnity.stream() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.map(entity&nbsp;->&nbsp;entity.getData().getId())&nbsp;//&nbsp;<<<&nbsp;this &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collect(Collectors.toList());

临摹微笑

它比您尝试的要简单。由于每个都Entity包含一个InnerEnity包含单个long标识符的单个 ,因此您只需要一个简单的map:List<Long>&nbsp;innerEnityIds&nbsp;=&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;listOfEnity.stream() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.map(sys&nbsp;->&nbsp;sys.getData().getId()) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collect(Collectors.toList());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java