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(),清除集合所有元素
【案例】
日志: