如何从 kotlin 中的数据类中删除对象

And*_*ket 0 android kotlin

我想从列表中删除一个对象,以便我可以添加所需的字符串并传递它。我有一个像这样的模型类

data class TagItem(
  val tagTittle: String,
  val isSelected: Boolean
)
Run Code Online (Sandbox Code Playgroud)

该数据类映射为惰性列,用于使列表选择和取消选择项目

 var tagsItems by remember {
                  mutableStateOf(
                      (tagsList).map {
                          TagItem(
                              tagTittle = it,
                              isSelected = false
                          )
                      }
                  )
              }

              val productEveryTags = tagsItems.filter {
                    it.isSelected
                }

                Log.i(TAG,"Only this $productEveryTags ")

                viewModel.onEvent(ProductUploadEvent.EnteredProductTags(productEveryTags))
Run Code Online (Sandbox Code Playgroud)

我正在单独过滤所选项目,但在我的日志语句中

Only this [TagItem(tagTittle=Tagged , isSelected=true), TagItem(tagTittle=Ducati , isSelected=true)]
Run Code Online (Sandbox Code Playgroud)

我如何删除“isSelected”对象并将“tagTittle”单独放入单个列表中

Mar*_*vin 5

您可以简单地映射输出的实例:

Log.i(TAG,"Only this ${productEveryTags.map { it.tagTittle }}")
Run Code Online (Sandbox Code Playgroud)

或者将其与现有的过滤器结合起来。根据您是否对重复项感兴趣,您还可以直接映射到集合:

val productEveryTags = tagsItems.filter {
        it.isSelected
    }.mapTo(LinkedHashSet()) {
        it.tagTittle
    }

Log.i(TAG,"Only this $productEveryTags")
Run Code Online (Sandbox Code Playgroud)