Kotlin学习之可变与不可变集合

作者: 程序员丶星霖 | 来源:发表于2017-12-04 09:51 被阅读121次

Kotlin学习之可变与不可变集合

一、可变集合与不可变集合有哪些?

Kotlin集合框架在kotlin.collections包内,如下:
接口:

  • Iterable<E>MutableIterable<E>
  • Iterator<E>MutableIterator<E>
  • Collection<E>MutableCollection<E>
  • List<E>MutableList<E>
  • Set<E>MutableSet<E>
  • ListIterator<E>MutableListIterator<E>
  • Map<E>MutableMap<E>

抽象类:

  • AbstractCollection<E>MutableAbstractCollection<E>
  • AbstractIterator<E>MutableAbstractIterator<E>
  • AbstractList<E>MutableAbstractList<E>
  • AbstractSet<E>MutableAbstractSet<E>
  • AbstractMap<E>MutableAbstractMap<E>

Kotlin集合框架只定义了接口和抽象类,没有定义具体实现类,具体实现都交由Java集合框架。

二、两者的区别

  1. 理解Kotlin集合,关键在于理解可变与不可变,指的是集合内部的元素和元素的组织方式,而不在于集合类型变量是val还是var。可变集合,变的是元素的值、集合内元素的排列、数量等。
  2. Kotlin集合框架里,所有的可变集合都继承自相同的不可变集合。
  3. 不可变集合只能对元素进行读取和查询,可变集合才能对元素进行增减和赋值。
  4. 相对于Java集合,Kotlin的不可变集合只拥有一部分功能,可变集合才拥有完整的功能。

学海无涯苦作舟

我的微信公众号.jpg

相关文章

网友评论

    本文标题:Kotlin学习之可变与不可变集合

    本文链接:https://www.haomeiwen.com/subject/iyutixtx.html