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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据属性值对对象列表进行排序相关的知识,希望对你有一定的参考价值。

我正在使用CriteraBuilder返回对象列表。如果它等于状态“PENDING”,我想通过对象中的属性值对此列表(希望在查询中)进行排序。对象上的状态可以是“有效,过期或待定”。状态为“待定”的对象我想先放在返回的列表中。注意我希望能够对此列表进行分页。

准则

def getAllIds(Map opts = [:]) {
    def max = opts.max ?: 10
    def offset = opts.offset ?: 0

    def c = Identification.createCriteria()
    List<Identification> ids = c.list(max: max, offset: offset) {
        //sort here if status == "PENDING"
    }

    return ids
}
答案

您可以使用'withCriteria'代替'createCrkteria'+'list'并在其中使用'order'

http://docs.grails.org/3.1.1/ref/Domain%20Classes/withCriteria.html

以上是关于如何根据属性值对对象列表进行排序的主要内容,如果未能解决你的问题,请参考以下文章

根据两个或多个值对通用列表进行排序

按对象属性之一的值对对象列表进行排序,其中只有一个值是感兴趣的

如何根据 Dart 中的 int 属性对所有 Class 属性进行排序?

Python入门题045:根据对象属性进行排序

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

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