在Kotlin的自定义类型arraylist中按ID搜索对象

时间:2018-11-15 12:41:41

标签: android kotlin

可以用Java轻松完成。

for(Event event:eventList){
if(event.id.equalTo(eventId){
  Event e=new Event();
   e=event;
}
}

我在科特林(Kotlin)就是这样,但预期结果没有到来

  fun filterList(listCutom: List<Event>?) {
    listCutom!!.forEachIndexed { index, eventid ->
        if (listCutom[index].eventTypeId.equals(eventType)) {
            event= eventid
        }
    }
}

如何使用filterforEachIndexed或以其他有效方式使用Kotlin?

2 个答案:

答案 0 :(得分:6)

您可以在列表中使用last_name扩展功能:

people = Person.objects.all()

答案 1 :(得分:2)

由于您不需要索引,为什么在Kotlin代码中使用forEachIndexed
我不知道循环是否可以找到1个以上的对象,以及如何使用e

listCutom!!.forEach { event ->
    if (event.id.equalTo(eventId)) {
        val e = event
        //.................
    }
}

带过滤器:

val filtered = listCutom!!.filter { it.id.equalTo(eventId) }
filtered.forEach { ... }

如果您希望符合某些条件的列表项的索引:

val indices = listCutom!!.mapIndexedNotNull { index, event ->  if (event.id.equalTo(eventId)) index else null}

然后您可以遍历indices列表:

indices.forEach { println(it) }