data class RideDate(var enddate: String? = null,var startdate: String? = null)
fun main(args: Array<String>) {
var listOfRideDate = mutableListOf<RideDate>();
val date1 = RideDate()
date1.startdate = "2018-11-05 00:00:00 +0000"
date1.enddate = "2018-11-06 23:59:59 +0000"
listOfRideDate.add(date1)
val date2 = RideDate()
date2.startdate = "2020-01-20 00:00:00 +0000"
date2.enddate = "2020-02-20 00:00:00 +0000"
listOfRideDate.add(date2)
val date3 = RideDate()
date3.startdate = "2020-03-20 00:00:00 +0000"
date3.enddate = "2020-03-20 00:00:00 +0000"
listOfRideDate.add(date3)
val date4 = RideDate()
date4.startdate = "2020-04-20 00:00:00 +0000"
date4.enddate = "2020-04-20 00:00:00 +0000"
listOfRideDate.add(date4)
val date5 = RideDate()
date5.startdate = "2020-11-20 00:00:00 +0000"
date5.enddate = "2020-11-20 00:00:00 +0000"
listOfRideDate.add(date5)
for (i in 0..listOfRideDate.size -1) {
// we have to remove 2018-11-05 00:00:00 +0000 and 2018-11-06 23:59:59 +0000 from list
println(listOfRideDate.get(i).startdate + " and " + listOfRideDate.get(i).enddate)
}
Run Code Online (Sandbox Code Playgroud)
}
这是我的数据类和主要方法我手动添加了 startDate 和 endDate 的项目 RideDate 如果数据包含 date1.startdate = "2018-11-05 00:00:00 +0000" date1.enddate = " 我想动态删除项目2018-11-06 23:59:59 +0000"
这样我就可以忽略它,请帮助我如何从 kotlin 的数组列表中删除该项目
如果匹配谓词,您可以使用removeAll从原始列表中删除元素。
listOfRideDate.removeAll {
it.startdate == "2018-11-05 00:00:00 +0000" && it.enddate == "2018-11-06 23:59:59 +0000"
}
Run Code Online (Sandbox Code Playgroud)
或者你可以过滤通过创建过滤项新名单由约翰Kexel的建议
val filtertedList = listOfRideDate.filter {
it.startdate == "2018-11-05 00:00:00 +0000" && it.enddate == "2018-11-06 23:59:59 +0000"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4211 次 |
| 最近记录: |