Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从kotlin中的数组列表中删除项 数据类RideDate(变量enddate:String?=null,变量startdate:String?=null) 趣味主线(args:Array){ var listOfRideDate=mutableListOf(); val date1=RideDate() date1.startdate=“2018-11-05 00:00:00+0000” date1.enddate=“2018-11-06 23:59:59+0000” listOfRideDate.add(日期1) val date2=RideDate() date2.startdate=“2020-01-20 00:00:00+0000” date2.enddate=“2020-02-20 00:00:00+0000” listOfRideDate.add(日期2) val date3=RideDate() date3.startdate=“2020-03-20 00:00:00+0000” date3.enddate=“2020-03-20 00:00:00+0000” listOfRideDate.add(日期3) 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(日期5) 对于(0..listOfRideDate.size-1中的i){ //我们必须从列表中删除2018-11-05 00:00:00+0000和2018-11-06 23:59:59+0000 println(listOfRideDate.get(i).startdate+”和“+listOfRideDate.get(i).enddate) }_Kotlin - Fatal编程技术网

如何从kotlin中的数组列表中删除项 数据类RideDate(变量enddate:String?=null,变量startdate:String?=null) 趣味主线(args:Array){ var listOfRideDate=mutableListOf(); val date1=RideDate() date1.startdate=“2018-11-05 00:00:00+0000” date1.enddate=“2018-11-06 23:59:59+0000” listOfRideDate.add(日期1) val date2=RideDate() date2.startdate=“2020-01-20 00:00:00+0000” date2.enddate=“2020-02-20 00:00:00+0000” listOfRideDate.add(日期2) val date3=RideDate() date3.startdate=“2020-03-20 00:00:00+0000” date3.enddate=“2020-03-20 00:00:00+0000” listOfRideDate.add(日期3) 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(日期5) 对于(0..listOfRideDate.size-1中的i){ //我们必须从列表中删除2018-11-05 00:00:00+0000和2018-11-06 23:59:59+0000 println(listOfRideDate.get(i).startdate+”和“+listOfRideDate.get(i).enddate) }

如何从kotlin中的数组列表中删除项 数据类RideDate(变量enddate:String?=null,变量startdate:String?=null) 趣味主线(args:Array){ var listOfRideDate=mutableListOf(); val date1=RideDate() date1.startdate=“2018-11-05 00:00:00+0000” date1.enddate=“2018-11-06 23:59:59+0000” listOfRideDate.add(日期1) val date2=RideDate() date2.startdate=“2020-01-20 00:00:00+0000” date2.enddate=“2020-02-20 00:00:00+0000” listOfRideDate.add(日期2) val date3=RideDate() date3.startdate=“2020-03-20 00:00:00+0000” date3.enddate=“2020-03-20 00:00:00+0000” listOfRideDate.add(日期3) 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(日期5) 对于(0..listOfRideDate.size-1中的i){ //我们必须从列表中删除2018-11-05 00:00:00+0000和2018-11-06 23:59:59+0000 println(listOfRideDate.get(i).startdate+”和“+listOfRideDate.get(i).enddate) },kotlin,Kotlin,} 这是我的数据类,也是我添加了startDate和endDate的RideDate项的主要方法 如果数据包含,我希望手动动态删除项目 date1.startdate=“2018-11-05 00:00:00+0000” date1.enddate=“2018-11-06 23:59:59+0000” 因此,我可以忽略它。请帮助我如何从kotlin的数组列表中删除该项,如下所示: data class RideDate(var enddate: String? = null,var startd

}

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

因此,我可以忽略它。请帮助我如何从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)
}


您可以在您的案例中使用
过滤器

listOfRideDate.removeIf {
     it.startdate == "2018-11-05 00:00:00 +0000" &&  it.enddate == "2018-11-06 23:59:59 +0000"
}
另请参阅下页

如果元素与谓词匹配,则可以使用从原始列表中删除元素

listOfRideDate.removeAll{
it.startdate==“2018-11-05 00:00:00+0000”和&it.enddate==“2018-11-06 23:59:59+0000”
}
或者,您也可以按照Johann Kexel的建议,创建一个包含过滤项的新列表

val filtertedList=listOfRideDate.filter{
it.startdate==“2018-11-05 00:00:00+0000”和&it.enddate==“2018-11-06 23:59:59+0000”
}

its show Exception in thread“main”java.lang.IndexOutOfBoundsException:Index:4,Size:4无法删除循环中的某些内容。如果要更改当前列表,您必须首先在循环中保存元素,然后在集合中使用
remove(element)
removeAll(elements)
(当然也可以在循环外使用
removeAt(index)
)不,您可以,只需停止循环即可。对,您可以删除一个项目确保您可以这样做,如果你只想删除一个元素。你能帮我在哪里添加这个代码吗?我在这个函数中非常新。什么条件以及如何在这里应用someLogik(元素)如何为开始日期和结束日期应用筛选器请帮助我?@MARSH您想从原始列表中删除元素还是想创建一个新的筛选元素?
someLogik
只是一个示例,它象征一个返回布尔值的函数,您可以自己定义。例如
fun非空(元素:RideDate)=元素!=空
。可以使用此过滤逻辑,也可以在foreach循环之后使用。
listOfRideDate.removeIf {
     it.startdate == "2018-11-05 00:00:00 +0000" &&  it.enddate == "2018-11-06 23:59:59 +0000"
}
val filtertedList = listOfRideDate.filter { element -> someLogik(element)}