如何从kotlin中的数组列表中删除项目

MAR*_*RSH 4 kotlin

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 的数组列表中删除该项目

Ani*_*ahu 6

如果匹配谓词,您可以使用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)