java - java中如何从List中获取id
问题描述
我正在尝试从给定列表中获取 id 并使用它来查找所有用户并按 id 显示它,也许更好的方法是使用流,但我不熟悉流,谁能帮助我
这是下面的代码,
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);
也许这不是一个好的解决方案,但它确实有效。
解决方案
如果您至少使用 Java 8,则可以在 Streams 中使用 map 函数。所以它会这样:
List<Long> list = messageModel.stream().map({ model -> model.id }).(Collectors.toList());