Попробуйте проверить файл «.env» в корневом каталоге. Эти значения берутся первыми. Ваши данные - это только значения по умолчанию, если в файле .env нет данных.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Your_Database_Name
DB_USERNAME=Your_UserName
DB_PASSWORD=Your_Password
Я полагаю, это то, что вы ищете
<T> Map<String, List<T>> getUserPerCompany(final Function<User, T> converter) {
return getUserStream().collect(Collectors.toMap(
c -> c.getName(),
c -> c.getUsers()
.stream()
.map(converter)
.collect(Collectors.toList())
));
}
Пример использования
final Map<String, List<String>> users = getUserPerCompany(user -> user.getName() + " " + user.getSurname());
В основном вам нужно map
каждый User
, применяя вход [ 114].
Вы можете использовать Collectors.groupingBy()
и написать пользовательские Collector
:
<T> Map<String, List<T>> getUserPerCompany(final Function<User, T> converter) {
return getUserStream().collect(
Collectors.groupingBy(
c -> c.getName(),
Collector.of(
ArrayList::new, //init accumulator
(list, c)-> c.getUsers() //processing each element
.stream()
.map(converter)
.forEach(list::add),
(result1, result2) -> { //confluence 2 accumulators
result1.addAll(result2); //in parallel execution
return result1;
}
)
)
);
}