Kotlin的MutableList add()函数是否总是添加到列表的末尾?

时间:2018-07-20 15:51:29

标签: kotlin

我正在将一个元素添加到MutableList中,并且我想知道其索引。

mutableList.add(foo)

最近添加的元素的索引是否总是像mutableList.size - 1那样是最后一个索引ArrayList

我不想使用mutableList.indexOf(foo),因为我认为它需要O(n)。我找不到关于这些的大量文档。

4 个答案:

答案 0 :(得分:3)

MutableList仅仅是一个接口。您如何初始化列表?

默认使用mutableListOf()之类的Kotlin方法创建ArrayList对象。

答案 1 :(得分:3)

是的,MutableList.add()总是添加到列表的末尾(这是实现该接口的任何类的要求)。我已经提起an issue在文档中明确说明了这一点。

答案 2 :(得分:1)

您提出了一个问题,因为从测试和经验中我发现,add方法添加的所有新元素都放在最后。
我相信情况就是如此,不会改变。
尽管文档中未提及,但这种情况适用。如果没有,那么可以肯定会在文档中。就像在“显示”中设置

  

通用的无序集合

答案 3 :(得分:1)

在JVM上,MutableList等同于java.util.List文档中确实指定

add
  

Appends the specified element to the end of this list