android - 如何使用子数组对主数组进行排序(Android)
问题描述
我想使用子数组值对我的主数组进行排序。输出如下:
{
"status": true,
"statusCode": 100,
"message": "",
"data": {
"win": [
{
"id": "1",
"admin": [
{
"id": "38",
"name": "Admin 05",
"point": {
"id": "96",
"name": "96"
}
}
]
},
{
"id": "2",
"admin": [
{
"id": "39",
"name": "Admin 06",
"point": {
"id": "95",
"name": "95"
}
}
]
},
{
"id": "3",
"admin": [
{
"id": "26",
"name": "Admin 05",
"point": {
"id": "98",
"name": "98"
}
}
]
}
]
}
}
我想要如下数组,但我不能这样做。
id = 3 // 首先
id = 1 // 秒
id = 2 // 第三个等等。
我在下面试过:
Collections.sort(loWinArray, object : Comparator<Win> {
override fun compare(obj1: Win, obj2: Win): Int {
// ## Ascending order
return (obj2.admin.get(0).point!!.name.toInt() - obj1.admin.get(0).point!!.name.toInt()) // To compare string values
}
})
有人可以帮忙吗?
解决方案
如果你希望它按点 ID 排序,从大到小,试试这个:
val sortedArray = loWinArray.sortedByDescending { item -> item.admin.first().id.toInt() }
推荐阅读
- python - 在 venv 中使用 python2.7,其中 python3 是默认 python
- javascript - npm audit 返回奇怪的依赖项
- laravel - Eloquent hasMany 在联合表上有外键
- java - Move document from one collection to another is overwriting the document
- php - Laravel 5.7 不同帖子的评论计数
- javascript - 禁用浏览器刷新图标
- r - 合并具有名称序列的多个 csv 文件
- angular - 子路由在其下方显示父级的 html 组件
- asp.net-mvc - 使用会话在 azure mvc 应用程序中存储数据
- java - 如何对 Map 类型的地图进行排序
> 在 Java 中