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の配列リストからアイテムを削除する方法を教えてください
述語と一致する要素を元のリストから削除するには、removeAllを使用できます。
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"
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加