Изменение значений в Set - PullRequest
       2

Изменение значений в Set

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

У меня есть набор, содержащий объекты Item: Set<Item> У класса Item есть метод getName(), который возвращает строку.Я хочу преобразовать Set<Item> в Set<String>, используя метод Item#getName()

Любым лучшим способом, чем использование forEach?

1 Ответ

0 голосов
/ 23 сентября 2018
itemSet.stream().map(Item::getName).collect(Collectors.toSet())

Объяснение этой цепочки методов с использованием Java Stream:

  • .stream извлекает каждый элемент из вашего набора, один за другим.См. Эту статью, опубликованную Oracle, Обработка данных с потоками Java SE 8, часть 1 .
  • .map вызывает указанный метод (getName) вкаждый объект течет из вашего набора.Результатом этого является свойство имени каждого элемента, по-видимому, объект String в вашей схеме.
  • .collect захватывает каждый из этих выходных имен и помещает их в новый объект Set.Этот новый Set возвращается, когда этот код завершается.

enter image description here

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