检查集合的元素

问题描述 投票:0回答:1

我想检查我的集合是否已经有一个具有相同名称的项目(connection.name),如果有,则调用一个可以执行某些操作的方法,例如,更改字段:connection.name

目前我收集的内容如下:

override fun getListItems(context: Context): List<ConnectionViewModel> {
return connectionsRepository.getAll().map { connection ->
    ConnectionViewModel(
            code = connection.code,
            name = connection.name,
   }
}
android kotlin collections
1个回答
3
投票

我想检查我的集合是否已经有一个具有相同名称的项目(connection.name)

您可以使用find()(以获得结果)或any()(以查看标准是否适用于至少一个元素):

val found: ConnectionViewModel? = list.find { it.name == expectedName }

val nameExists: Boolean = list.any { it.name == expectedName }

如果有,则调用将执行某些操作的方法,例如,更改字段:connection.name

考虑到上面的foundnameExists的结果,这应该是直截了当的。

list.map {
    if (nameExists)
        it.copy(name = differentName)
    else
        it
}
© www.soinside.com 2019 - 2024. All rights reserved.