1、集合;

(1)Collection,单值集合

          3个子接口:List\Set\MutableColletion

(2)Map,双列集合(key 和 value)

          3个子接口:HashMap\TreeMap\MutableMap

 【案例】不可变List

初始化:

操作:isEmpty():Boolean 判断是否为空

size:Int 获取元素个数

contains(element: @UnsafeVariance E): Boolean 判断某某元素是否存在

iterator():Iterator,获取迭代器

android kotlin 集合添加数据 kotlin mutablelist_java

日志:

android kotlin 集合添加数据 kotlin mutablelist_java_02

【案例】iterator

android kotlin 集合添加数据 kotlin mutablelist_android_03

日志:

android kotlin 集合添加数据 kotlin mutablelist_java_04


2、List——操作;

containsAll(elements:Collection<E>):Boolean 表示某某子集是否在某某集合中

get(index):E 按照index位置,获取一个元素

indexOf(element:@UnsafeVariance E):Int 返回的是元素在集合中首次出现的位置

lastIndexOf(element:@UnsafeVariance E):Int 返回的是元素在集合中最后一次出现的位置

subList(fromIndex:Int ,toIndex:Int):List<E> 表示指定从某某位置开始到某某位置结束的一个子集

【案例】

android kotlin 集合添加数据 kotlin mutablelist_java_05

日志:

android kotlin 集合添加数据 kotlin mutablelist_学习_06


3、可变集合——MutableList;

它实现了List<E>和MutableCollection<E>,增加了对集合的添加、替换、删除等操作。

api:

      isEmpty():Boolean 判断是否为空集合

      val size:Int 返回集合中的元素个数

      contains(element:@UnsafeVariance E):Boolean 判断是否包含某某元素

      iterator():Iterator<E> 返回集合的迭代器

      add(element:E):Boolean 添加某某元素

      add(index:Int,element:E):Unit 在指定位置上添加一个元素

      remove(element:E):Boolean 移除某某元素,true表示成功,false表示失败

      removeAt(index:Int):E 移除指定索引位置的元素,返回这个元素

      set(index:Int,element:E) 指定某某位置上的元素换成element

      addAll(elements:Collection<E>) :Boolean 向集合中添加一个集合

      retainAll(elements:Collection<E>):Boolean 判断某某子集是否在整个集合中,true表示是;false表示否。保留的是交集这个集合。

      removeAll(elements:Collection<E>):Boolean    移除集合中一个集合,如果移除成功,返回true;否则返回false

clear():Unit 清空集合

【案例】

android kotlin 集合添加数据 kotlin mutablelist_android_07

android kotlin 集合添加数据 kotlin mutablelist_学习_08

 

android kotlin 集合添加数据 kotlin mutablelist_java_09

android kotlin 集合添加数据 kotlin mutablelist_java_10

 日志:

android kotlin 集合添加数据 kotlin mutablelist_android_11

 

android kotlin 集合添加数据 kotlin mutablelist_java_12

android kotlin 集合添加数据 kotlin mutablelist_android_13

【案例】

retainAll(elements:Collection<E>):Boolean 判断某某子集与整个集合是否有交集,true表示是;false表示否。保留的是交集这个集合。

android kotlin 集合添加数据 kotlin mutablelist_kotlin_14

日志:

android kotlin 集合添加数据 kotlin mutablelist_java_15


4、Set;

        List中元素是有序可重复

        Set中元素是无序不可重复

kotlin中Set分为两种

(1)Set(不可变)

api:

        isEmpty():Boolean 判断是否为空

        val size:Int 判断有多少个元素

        contains(element:@UnsafeVariance:E):Boolean 判断是否包含某某元素

        iterator():Iterator<E> 返回集合的迭代器

        containsAll(elements:Collection<E>):Boolean 返回某某子集是否存在

【案例】

android kotlin 集合添加数据 kotlin mutablelist_java_16

(2)MutableSet(可变)

         继承了Set接口和MutableCollection接口

         可变:add\remove

【案例】

android kotlin 集合添加数据 kotlin mutablelist_list_17


5、Map;

双列集合

       存储key和value的值

       不可变集合

考虑2个问题:

(1)如何初始化?

       mapOf(key to value,key to value……)

       to是一个关键字

(2)如何操作?

api:

       isEmpty():Boolean 判断集合是否空

       val size:Int 获取集合元素个数

       containsKey(key:K):Boolean 判断集合是否包含某某key

       containsValue(value:V):Boolean 判断集合是否包含某某value

       get(key:K):V? 根据key来获取value,如果存在返回对应的value,如果不存在,返回null

       迭代

【案例】

android kotlin 集合添加数据 kotlin mutablelist_list_18


6、MutableMap;

       可变Map

       元素个数可变

       可变的操作是什么?

       put(key:K,value:V):V? 存入对应key的value

       remove(key:K):V? 删除指定key对应的value这个元素

       putAll(map:MutableMap<K,V>) 存入一个可变集合

       clear(),清除集合所有元素

【案例】

android kotlin 集合添加数据 kotlin mutablelist_android_19

android kotlin 集合添加数据 kotlin mutablelist_java_20

android kotlin 集合添加数据 kotlin mutablelist_android_21

日志:

android kotlin 集合添加数据 kotlin mutablelist_android_22