Причина
Ответ пуст, поскольку нет операции терминала , вызванной на Stream
, который вы создали (inLines
). Следовательно, и synonym1
, и substance
остаются пустыми, когда вы пытаетесь получить к ним доступ во время печати на консоль.
Альтернативный
То, что вы можете просто искать, это заменить окончательный map
работа с forEach
, так как она сохранит типы найденных элементов synonym1
и substance
, что, по-видимому, является вашим основным вариантом использования. Это можно сделать следующим образом:
.forEach(y -> {
if (y.startsWith("RN")) {
synonym1.add(y);
} else {
substance.add(y);
}
});
Примечание
В настоящее время нет смысла собирать Stream<Boolean>
в Collection
, поскольку это будет включать в себя результатОперация .add
для коллекций synonym1
и substance
для каждого фильтруемого элемента.