Realm.Io Android最常用的价值

时间:2017-04-17 09:42:48

标签: android realm

如何在Realm中获得最常见的值?

例如:

Jack
Ryan
Lee
Jack

杰克是最常去的人。

1 个答案:

答案 0 :(得分:0)

记住! Realm是一个NoSQL对象存储库!它重量轻,速度快,而且它存储的对象只是普通的Java对象。 DB引擎无需像这样“优化”计算。你可以很容易地做到这一点:

public String getMostCommonName(Realm realm) {
    RealmResults<Person> results = realm.where(Person.class).distinct("name");
    long maxOccurances = 0;
    Person mostCommon = null;
    for (Person p : results) {
        long n = realm.where(Person.class).equalTo("name", p.getName()).count();
        if (n > maxOccurances) {
            mostCommon = p;
            maxOccurances = n;
        }
    }
    return mostCommon.getName();
}