Создать объект из списка, используя поток / карту Java 8 - PullRequest
0 голосов
/ 27 июня 2018

У меня есть список объектов. Я хотел бы создать отдельные объекты из этого списка с помощью метода и не вызывать его всегда: personList.get (0), personList.get (1) и т. Д. Имя объекта должно быть именем Person из элемента списка.

List<Person> personList = ...;

Я бы хотел перебрать personList и создать новые объекты по имени для каждого объекта из списка.

Класс Person содержит атрибут name с геттером.

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Просто простой цикл forEach:

personList.forEach(p -> {
  T newObject = new T(p.getName());
  // Do what you need to do with each new object
});

Если вы пытаетесь сделать что-то более сложное, ответ Aonminè, вероятно, то, что вам действительно нужно.

0 голосов
/ 27 июня 2018

Просто выполните потоковую передачу списка и запустите операцию map следующим образом:

personList.stream()
          .map(x -> new T(x.getName()))
          .collect(Collectors.toList());

Где T - это новый тип элементов, которые вы хотите создать, например. Student, Person, Employee и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...