十一、Kotlin进阶学习:1、集合;2、List操作;3、可变集合——MutableList;4、Set;5、Map;6、MutableMap;

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,获取迭代器

日志:

【案例】iterator

日志:


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> 表示指定从某某位置开始到某某位置结束的一个子集

【案例】

日志:


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 清空集合

【案例】

 

 日志:

 

【案例】

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

日志:


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 返回某某子集是否存在

【案例】

(2)MutableSet(可变)

         继承了Set接口和MutableCollection接口

         可变:add\remove

【案例】


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

       迭代

【案例】


6、MutableMap;

       可变Map

       元素个数可变

       可变的操作是什么?

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

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

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

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

【案例】

日志:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

¥伊人独醉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值