Как получить идентификатор из списка в java - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь получить идентификатор из данного списка и использовать его, чтобы найти всех пользователей и отобразить его по идентификатору. Возможно, лучшим способом было бы использовать поток, но я не знаком с потоком, кто-нибудь может мне помочь, пожалуйста

Вот код ниже,

 List<MessageModel> messageModel = messageService.finAll(user.getId());
    UserModel userModel = userRepository.retrieveUserId(messageModel.getId)));
    model.addAttribute("users", userModel);

возможно, я делаю что-то не так

MessageModel выглядит как

@Getter
@Setter
public class MessageModel {
    private Long id;
    private String text;
    private Long sender_id;
    private User user;

}

наконец я решаю проблему, хотел бы и хотел бы показать вам, как я это сделал

   List<MessageModel> messageModel = messageService.finAll(user.getId());
    List<Long> list = new ArrayList<>();
    for (MessageModel messageModel1 : messageModel) {
        Long id = messageModel1.getSender_id();
        list.add(id);
    }
    UserModel userModel = userRepository.retrieveListUserId(list);

возможно, это не хорошее решение, но оно работает.

1 Ответ

0 голосов
/ 26 марта 2020

Если вы используете хотя бы Java 8, вы можете использовать функцию карты в Streams. Так бы хотелось вот так:

List<Long> list = messageModel.stream().map({ model -> model.id }).(Collectors.toList());
...