如何以升序对对象数组列表进行排序

Tech_sharma:

我有一个休眠的实体类:

    @Entity
    @Table(name = "grade")
    @JsonIgnoreType
    public class StudentMaster implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "grade_id", unique = true, nullable = false)
    private Integer gradeId;

    @Column(name = "grade_name")
    private String gradeName;
    //getter and setter
   }

我编写了一个查询,该查询返回对象数组的列表:字符串查询=从可用的等级= 1中选择T.gradeId,T.gradeName;

这返回一个对象数组列表

    List<Object[]> list = session.createQuery(query.toString()).list();

清单来了像

    [0]
     >[0] = 5001
     >[1] = "10"
    [1]
     >[0] = 5002
     >[1] = "11"
    [2]
     >[0] = 5003
     >[1] = "4"
    [3]
     >[0] = 5004
     >[1] = "18" 
      and so on....

我试图按升序排序,例如4,10,11,18我尝试了以下代码段,但没有用

   Collections.sort(list, new Comparator<StudentMaster>() {
        public int compare(StudentMaster s1, StudentMaster s2) {
            return s1.getGradeName().compareTo(s2.getGradeName());
        }
    });

有人可以帮我吗 我正在学习自己,并且是编码的新手,因此需要帮助。谢谢

亚历山大·弗勒:

我建议让DB尽力为您排序。只需在您的查询中添加订单。

更新:

由于要按存储为字符串的整数值排序,因此需要使用TO_NUMBER特定的SQL方言语法将其转换为整数内存中排序可以这样实现:

new Comparator<Object[]>() {
 public int compare(Object[] o1, Object[] o2) {
 return Integer.valueOf((String) o1[1]).compareTo(Integer.valueOf((String) o2[1])); 
} 
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何对对象的数组列表进行排序?

如何使用javascript根据创建日期按升序对对象数组进行排序并做出反应?

Laravel-如何按ID升序对对象数组进行排序

对对象数组列表进行排序

如何以与 id 数组相同的顺序对对象数组进行排序

如何对对象列表进行排序

Python,如何对对象列表进行排序?

如何对对象列表进行排序

如何按键对对象数组进行排序?

如何以不区分大小写的顺序对对象列表进行排序?

如何以升序对数组进行排序Swift 2.3

如何以所需的方式对对象的ArrayList进行排序

如何通过对象变量字符串对对象的数组列表进行排序

根据列表顺序对对象数组进行排序

根据数组对对象列表进行排序(Rails)

基于 String 属性对对象的数组列表进行排序

用JavaScript中的任意列表对对象数组进行排序

按属性对对象数组进行排序以匹配提供的列表

按升序对对象数组进行排序,但将所有零放在最后

按与另一个值相关的值的升序对对象数组进行排序

在单击时按升序和降序对对象数组进行排序

如何基于列表中的属性对对象列表进行排序

如何根据对象的属性对对象列表进行排序?

如何根据对象的属性对对象数组进行排序

如何根据对象的值对对象数组进行分组排序?

如何以升序对ArrayList <Object>进行排序

如何在JSP中对对象列表进行排序

如何根据重复字段对对象列表进行排序?

如何按枚举字段对对象列表进行排序?