String 在列表中搜索某个元素并将其删除

String 在列表中搜索某个元素并将其删除,string,list,kotlin,String,List,Kotlin,我在kotlin中有一个列表,其中包含以下元素 "Bank", "of", "Luxemburg", "Orange", "County" 如果列表中包含的,如何搜索 如何获取的位置,然后将其从列表中删除?我认为这可能会起作用: list.indexOfof.allow{if it!=-1 list.removeAtindex}首先确保您的列表是可变列表: val list = mutableListOf("bank", "of" , "Luxemburg", "Orange", "count

我在kotlin中有一个列表,其中包含以下元素

"Bank", "of", "Luxemburg", "Orange", "County"
如果列表中包含的,如何搜索

如何获取的位置,然后将其从列表中删除?

我认为这可能会起作用:
list.indexOfof.allow{if it!=-1 list.removeAtindex}

首先确保您的列表是可变列表:

val list = mutableListOf("bank", "of" , "Luxemburg", "Orange", "country")
或者,如果您已经有一个列表:

val newList = list.toMutableList()
然后这样做:

list.remove("bank")
输出:

[of, Luxemburg, Orange, country]
[bank, of, Luxemburg, Orange, country, Luxemburg]
[bank, of, Orange, country]
如果同一列表中有更多复制值,请执行以下操作:

 list.removeAll(listOf("Luxemburg"))
输出:

[of, Luxemburg, Orange, country]
[bank, of, Luxemburg, Orange, country, Luxemburg]
[bank, of, Orange, country]

如果要删除列表中找到的第一个,则删除即可。如果要删除的每个事件,请使用removeIf,甚至removeAll:


如果您只想返回元素,而不需要任何元素,则可以对其进行过滤

val list = listOf("bank", "of" , "Luxemburg", "Orange", "country")
val result = list.filter { it != "of" }

使用flatmap,忽略closure中的元素如果必须更改列表,请使用其他答案,否则上面的@AlexandrKolesnik答案就是解决问题的方法go@AlexandrKolesnik谢谢你的评论。我肯定会考虑使用平面图。非常感谢!如果您需要将可变列表转换为列表,因为您在某些函数或类中使用了列表,请不要担心,您始终可以从可变列表创建列表,只需在构造函数中传递整个可变列表即可。如果您对使用集合感兴趣,请参阅此处的详细信息:这将仅删除第一次出现的。。。如果这足够了,那么回答就很好-它没有删除第一个元素,请在卢森堡尝试。啊,好吧,你指的是所有元素。我编辑,现在也删除了复制。有一个removeAllpredicate,它的作用与RemoveFilter相同,但不仅仅是JDK。