如何对一个具有id属性的类按id降序排序?

xwbd5t1u  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(367)

我有一个类产品,它和另一个类有一个单独的关系,叫做反馈。我正在做一个postmapping,从我的数据库中检索该类,并将其呈现在web视图中。我不知道如何实现一个比较器来按降序排列我的列表。迄今为止的代码如下:

@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?

5kgi1eie

5kgi1eie1#

1.添加与您的对象相当的接口。

Public class  Feedback implements Comparable<Feedback>

2重写比较方法

@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());

yshpjwxd

yshpjwxd2#

试着做一个反馈

class FeedbackSorter implements Comparator<Feedback> 
{ 
    public int compare(Feedback a, Feedback b) 
    { 
        return a.getProduct().getID() - b.getProduct().getID()
    } 
}

然后是collections.sort(fs,newfeedbacksorter());

相关问题