我有下一个 JSON 响应:[{ format: "jpeg", id: 001, author: "Mery Rose"},{ format: "jpeg", id:002, author: "Alex Turner"}通过此 Get 调用,我按 ID 顺序获取:001、002@GET("/list")Call<ArrayList<Groups>> imageList();我需要按作者排序,先获得亚历克斯,然后获得梅里。请帮忙。
3 回答
慕森卡
TA贡献1806条经验 获得超8个赞
我认为Retrofit不会直接对响应提供内置排序。
对于排序响应,您必须使用 如下比较器手动完成
Collections.sort(imageList, new Comparator<Groups>() {
@Override
public int compare(Groups g1, Person g2) {
return g1.getAuthor().compareTo(g2.getAuthor());
}
});
千巷猫影
TA贡献1829条经验 获得超7个赞
像这样使用集合
Collections.sort(imageList, new Comparator<Groups>() {
public int compare(Groups G1, Groups G2) {
return G1.getAuthor().compareTo(G2.getAuthor());
}
});
开满天机
TA贡献1786条经验 获得超13个赞
作为@NJ 答案的替代方案,您可以使用新的 Java 8Comparator.comparing
工厂,您可以在其中提供一个函数来提取比较对象时要使用的值。
Collections.sort(imageList, Comparator.comparing(Groups::getAuthor));
添加回答
举报
0/150
提交
取消