Преобразовать список объектов в список Long - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть следующий класс:

Class1 {
    private Class2 class2;
    ...
}

Я хочу преобразовать список Class1 в список Class2::getId(), вот что я пробовал:

List<Class2> class2List = class1List.stream().map(Class1::getClass2).collect(Collectors.toList());
List<Long> class2Ids = class2List .stream().map(Class2::getId).collect(Collectors.toList());

Разве нет способа сделать это в одной инструкции?

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете связать столько промежуточных операций, сколько пожелаете ...

class1List.stream()
          .map(Class1::getClass2)
          .map(Class2::getId)
          .collect(Collectors.toList());
...