RemoveAt在列表中找不到kotlin?[重复]

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

我有一个列表,其值是由API填充的

var dataList: List<Data?>? = null

我需要删除第0个索引中的元素。

而在java中,我可以使用

dataList.removeAt(0)

但我在kotlin中没有看到这个功能。

list kotlin
3个回答
1
投票

列表 只支持只读访问,而 可变列表 支持添加和删除元素。

所以 var dataList: MutableList<Data?>? = null 会给你一个删除元素的选项。


1
投票

这是因为不像java List 在Kotlin中是不可改变的。这意味着你在声明它之后不能修改。要想获得add,remove这样的功能,你可以像这样在Kotlin中声明一个可变的列表。

val mutableList = mutableListOf<String>()
mutableList.add("Some data")
mutableList.removeAt(0)

1
投票

你不能从一个列表中删除一个项目 List. 你也不能添加项目,也不能改变项目。 这是因为 List 是一个只读接口!

如果列表是可变的,你可以在列表中加入一个 MutableList 的引用。 MutableList 是一个子接口,增加了所有添加、更改和删除项目的方法。

© www.soinside.com 2019 - 2024. All rights reserved.