码迷,mamicode.com
首页 > 移动开发 > 详细

Android List<Entity>如何排序

时间:2020-05-06 18:12:54      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:return   数据   utils   string   排序   如何排序   ons   mode   lan   

Android List如何排序

Overview

今天做到了一个需求,是点赞功能,但是数据需要以总共的点赞数来排序,但是服务器返回的数据没有排过序,所以我们需要在Android端 排序。

学习一下

如何才可以实现我们的理想效果。

显示看看我们的实体类

package com.example.olympicpublic.model;

import java.util.Collection;
import java.util.Collections;

/**
 * Date 5/6/2020
 * Author CaoJiaHao
 * Description ${Description}
 **/
public class AthleteVotingEntity implements Comparable<AthleteVotingEntity> {
    String AthleteID;
    String FirstName;
    String LastName;
    String Photo;
    int TotalVoteAmount;

    public String getAthleteID() {
        return AthleteID;
    }

    public void setAthleteID(String athleteID) {
        AthleteID = athleteID;
    }

    public String getFirstName() {
        return FirstName;
    }

    public void setFirstName(String firstName) {
        FirstName = firstName;
    }

    public String getLastName() {
        return LastName;
    }

    public void setLastName(String lastName) {
        LastName = lastName;
    }

    public String getPhoto() {
        return Photo;
    }

    public void setPhoto(String photo) {
        Photo = photo;
    }

    public int getTotalVoteAmount() {
        return TotalVoteAmount;
    }

    public void setTotalVoteAmount(int totalVoteAmount) {
        TotalVoteAmount = totalVoteAmount;
    }

    public AthleteVotingEntity(String athleteID, String firstName, String lastName, String photo, int totalVoteAmount) {
        AthleteID = athleteID;
        FirstName = firstName;
        LastName = lastName;
        Photo = photo;
        TotalVoteAmount = totalVoteAmount;
    }


    @Override
    public int compareTo(AthleteVotingEntity o) {
        int i = this.getTotalVoteAmount() - o.getTotalVoteAmount();
        return i;
    }
}

可以看到我们这里可以排序的和不可以排序的就是多了个compareTo方法和继承了Comparable<实体类名称>这样就可以实现排序了,那么有该如何去实现呢?光这么写是肯定不可以的。

如何调用我们的排序操作

显示看看源代码:

List<AthleteVotingEntity> mData = new ArrayList<>();
mData = GsonUtils.JsonToList(result, AthleteVotingEntity.class);
Collections.reverse(mData);

其实非常的简单,先是使用Gson将服务器端所返回的数据转换为List。

然后我们就是使用Collections.Sort \ reverse(Sort 正序,reverse 倒序)

这样我们的排序就完成了。

Android List<Entity>如何排序

标签:return   数据   utils   string   排序   如何排序   ons   mode   lan   

原文地址:https://www.cnblogs.com/cao-1/p/12837754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!