我从服务器那里得到这样的回复,
[
{
"id":"b2",
"type":"ball"
},
{
"id":"a1",
"type":"apple",
},
{
"id":"d4",
"type":"dog",
},
{
"id":"c3",
"type":"cat",
}
]
但我需要根据“类型”基于字母顺序对上述响应数据进行排序。然后显示列表,我使用模型来解析数据。
答案 0 :(得分:1)
您将JSON解析为什么数据结构?例如,如果您的Item
类类似于:
class Item {
Item(String id, String type) { ... }
String getType() { ... }
String getId() { ... }
}
您将JSON解析为某种List<Item>
,然后以下内容适用于按类型排序(API级别24+),请参阅Comparator.comparing:
List<Item> items = ...; // however you parse the JSON
Comparator<Item> byType = Comparator.comparing(Item::getType);
Collection.sort(items, byType); // items will now be sorted
对于适用于较旧API级别的更通用方法,您可以像这样定义byType
比较器:
Comparator<Item> byType = new Comparator<Item> {
public int compare(Item a, Item b) {
return a.getType().compareTo(b.getType());
}
};
答案 1 :(得分:0)
你不能让你的课可比和使用:
type.compareTo()
在oder中你自己的compareTo方法能够按类型对它们进行排序吗?
答案 2 :(得分:0)
Json是一个对象,是一组无序的名称/值对。 见http://json.org。 转换为对象进行排序。
答案 3 :(得分:0)
将其转换为Object并实现Comparable<>
接口。用途:
CompareTo()