способ найти список всех идентификаторов в списке объектов из внутреннего объекта с Java 8 - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть объект:

public class Entity
{
    private long id;    
    private InnerEnity data;

    public long getId() {
        return id;
    }

    public InnerEnity getData() {
        return data;
    }
}

Класс InnerEnity

public class InnerEnity 
{
    private long id;    
    private String data;

    public long getId() {
        return id;
    }

    public String getData() {
        return data;
    }
}

Мне нужен список идентификаторов InnerEnity.Чтобы решить эту проблему, я попытался что-то вроде этого: -

List innerEnityIds = listOfEnity.stream (). Map (sys -> sys.getData (). Stream (). Map (obj-> obj.getId (). collect (Collectors.toList ())));

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Вам просто нужно map entity к его внутренней сущности (data) id как:

List<Long> innerEnityIds = listOfEnity.stream()
        .map(entity -> entity.getData().getId()) // <<< this
        .collect(Collectors.toList());
0 голосов
/ 25 февраля 2019

Это проще, чем вы пытались.Поскольку каждый Entity содержит один InnerEnity, который содержит один long идентификатор, вам нужен только простой map:

List<Long> innerEnityIds = 
    listOfEnity.stream()
               .map(sys -> sys.getData().getId())
               .collect(Collectors.toList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...