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

2024-03-12

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)
}

}

这是我的数据类和我添加了 startDate 和 endDate 项 RideDate 的主要方法 手动我想动态删除项目如果数据包含 date1.startdate = "2018-11-05 00:00:00 +0000" date1.enddate = "2018-11-06 23:59:59 +0000"

这样我就可以忽略它,请帮助我如何从 kotlin 的数组列表中删除该项目


您可以使用移除所有 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/remove-all.html如果元素与谓词匹配,则从原始列表中删除元素。

listOfRideDate.removeAll {
    it.startdate == "2018-11-05 00:00:00 +0000" && it.enddate == "2018-11-06 23:59:59 +0000"
}

或者你可以filter https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter.html按照 Johann Kexel 的建议创建一个包含已过滤项目的新列表

val filtertedList = listOfRideDate.filter {
    it.startdate == "2018-11-05 00:00:00 +0000" && it.enddate == "2018-11-06 23:59:59 +0000"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kotlin中如何从数组列表中删除项目 的相关文章

随机推荐