如何对具有 id 属性的 class 列表进行排序,按 id 降序排列?
How can I sort a list which is a class that has an attribute of id in id descending order?
我有一个 class 产品,它与另一个称为反馈的 class 有一对多关系。我正在执行 PostMapping 以从我的数据库中检索 class 以将其呈现在 Web 视图中。我无法弄清楚如何实现比较器来按降序对我的 List fs 进行排序。到目前为止的代码如下:
@PostMapping("/view/{id}")
public ModelAndView addReview(@PathVariable("id") int id, @RequestParam("review") String review, HttpServletRequest request) {
Product product = dao.findById(id).get();
Feedback feedback = new Feedback(review);
product.getFeedbacks().add(feedback);
feedback.setProduct(product);
dao.save(product);
List<Feedback> fs = product.getFeedbacks();
HttpSession session = request.getSession();
session.setAttribute("fs", fs);
return new ModelAndView("/view").addObject("product", product);
}
如何根据作为主键的 id 对我的 fs 进行降序排序?
尝试制作一个 FeedbackSorter
class FeedbackSorter implements Comparator<Feedback>
{
public int compare(Feedback a, Feedback b)
{
return a.getProduct().getID() - b.getProduct().getID()
}
}
然后
Collections.sort(fs, new FeedbackSorter ());
1.Add界面堪比你的对象。
Public class Feedback implements Comparable<Feedback>
2 覆盖 compareTo 方法
@Override
public int compareTo(Feedback o) {
return this.getId().compareTo(o.getId());
}
- 使用集合对列表进行排序。
3.1反馈 ID 升序排列
Collections.sort(fs);
3.2 反序反馈id
Collections.sort(fs, Collections.reverseOrder());
我有一个 class 产品,它与另一个称为反馈的 class 有一对多关系。我正在执行 PostMapping 以从我的数据库中检索 class 以将其呈现在 Web 视图中。我无法弄清楚如何实现比较器来按降序对我的 List fs 进行排序。到目前为止的代码如下:
@PostMapping("/view/{id}")
public ModelAndView addReview(@PathVariable("id") int id, @RequestParam("review") String review, HttpServletRequest request) {
Product product = dao.findById(id).get();
Feedback feedback = new Feedback(review);
product.getFeedbacks().add(feedback);
feedback.setProduct(product);
dao.save(product);
List<Feedback> fs = product.getFeedbacks();
HttpSession session = request.getSession();
session.setAttribute("fs", fs);
return new ModelAndView("/view").addObject("product", product);
}
如何根据作为主键的 id 对我的 fs 进行降序排序?
尝试制作一个 FeedbackSorter
class FeedbackSorter implements Comparator<Feedback>
{
public int compare(Feedback a, Feedback b)
{
return a.getProduct().getID() - b.getProduct().getID()
}
}
然后 Collections.sort(fs, new FeedbackSorter ());
1.Add界面堪比你的对象。
Public class Feedback implements Comparable<Feedback>
2 覆盖 compareTo 方法
@Override
public int compareTo(Feedback o) {
return this.getId().compareTo(o.getId());
}
- 使用集合对列表进行排序。
3.1反馈 ID 升序排列
Collections.sort(fs);
3.2 反序反馈id
Collections.sort(fs, Collections.reverseOrder());