Добавьте результат вызова метода в другую коллекцию, используя Java StreamsJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Добавьте результат вызова метода в другую коллекцию, используя Java Streams

Сообщение Anonymous »

У меня есть ArrayList (без бриллиантового оператора), который хранит объекты типа пользователя. Я хотел бы переписать код итератора для потоковой передачи, но я не уверен, как добавить результат метода вызова в коллекцию. Вот мой код: < /p>
List result = new ArrayList();

ArrayList userHelperAL = getUsersToAdd(start, num, usernameFilter, fullnameFilter);

for (Iterator userIt = userHelperAL.iterator(); userIt.hasNext();) {
// get the user
UserHelper userHelper = (UserHelper) userIt.next();

// get the user's permissions
AdminDto userPermissionDto = getNewAdminDtoByConsolePermissions(userHelper);
result.add(userPermissionDto);
}

Метод getNewAdmindTobyConsolePermissions - это личный метод в классе SomeService .
Здесь я пытаюсь переписать код выше, чтобы поток: < /p>
userHelperAL.stream()
.filter(obj -> obj instanceof UserHelper)
.map(obj -> (UserHelper) obj)
.map(SomeService::getNewAdminDtoByConsolePermissions)
.collect(Collectors.toCollection(() -> result));
< /code>
Ошибка, которую я получаю здесь: < /p>

type someervice не определяет getnewadmindtobyconsolepermissions (объект), который применимо Здесь.

Похоже, что он пытается передать объект типа вместо пользователя healhelper .
Вот getnewadmindtobyconsolepermissions < /code> Метод: < /p>
private AdminDto getNewAdminDtoByConsolePermissions(UserHelper userHelper) {
long consolePermissions = userHelper.getConsolePermissions();

// Add the user's permissions to the map
Map permissionMap = getUserAdminPermissionMap();
int index = 0;

for (String key : permissionMap.keySet()) {
// the value is hidden for legacy purposes
permissionMap.put(key, someVALUE);
++index;
}

// build the dto
AdminDto resultDto = getAdminUserManagementPermissions(permissionMap);

return resultDto;
}


Подробнее здесь: https://stackoverflow.com/questions/639 ... va-streams
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»