Kotlin中的集合(Collection)
来源:互联网 发布:python 传参数 编辑:程序博客网 时间:2024/05/29 09:34
集合类型
Array(数组)
- 有序可重复,索引从0开始
- 大小固定,元素类型不可变
- 定义:Array<泛型>(size,init)或者arrayOf(元素1,元素2,…,元素n)
通过两种方式定义数组
//定义一个数组,有类型推断,也可以不写泛型var stations_8 = arrayOf("南锣鼓巷", "什刹海", "鼓楼大街", "安德里北街", "安华桥", "北土城", "奥体公园", "奥林匹克公园", "森林公园南门", "什刹海", "鼓楼大街")//创建一个有默认值的数组,Array(计数,{默认值})var station_11 = Array(10, { "11号线的占位符" })//创建1到n数组,Array(n,{i -> i + 1})var oneToTen = Array(10, { i -> i + 1 })
- 常用方法
元素计数:count(),是否为空:isEmpty(),是否不为空:isNotEmpty()
stations_8.count()stations_8.isEmpty()stations_8.isNotEmpty()
去重:distinct(),或者toSet()转换为Set集合
val stationNoRepeat = station_8.distinct()
数组切割:sliceArray(i..j)
val smallStations = stations_8.sliceArray(2..3)
变为可变数组:MutableList<类型>或mutableListOf(元素1,元素2,…,元素n)
var newStation_8 = mutableListOf("南锣鼓巷", "什刹海", "鼓楼大街", "安德里北街")
在末尾添加元素:add(),添加另一个数组:addAll()
newStation_8.add("安华桥")newStation_8.addAll(smallStations)
移除某个元素remove(),移除指定位置元素removeAt(),移除整个数组内包含的元素:removeAll()
newStation_8.remove("安华桥")newStation_8.removeAt(0)newStation_8.removeAll(smallStations)
数组中是否包含某个元素:contains
newStation_8.contains("什刹海")
Set(集合)
- 特性:无序不重复,大小固定,元素类型不可变
- 定义:Set<泛型>或setOf(元素1,元素2,…,元素n)
- 主要方法:交、差、并、补
定义三个Set集合,一条主线和两条支线
val mainLine = setOf("迪士尼", "徐家汇", "桃浦新村", "南翔", "马陆", "嘉定新城")val subLineJd = setOf("嘉定新城", "嘉定西", "嘉定北")val subLineKs = setOf("嘉定新城", "上海赛车场", "安亭", "花桥")
计数:count(),是否为空:isEmpty(),是否不为空:isNotEmpty()
mainLine.count()mainLine.isEmpty()mainLine.isNotEmpty()
包含某个元素contains(),包含某个Set集合内全部数据:containsAll()
mainLine.contains("迪士尼")mainLine.containsAll(subLineJd)
将集合转化为数组:
mainLine.toTypeArray()
集合之间的运算:intersect(交集),subtract(差集),union(并集),minus(补集),返回结果是一个新的Set集合
mainLine.intersect(subLineJd)mainLine.subtract(subLineJd)mainLine.union(subLineJd)mainLine.minus(subLineJd)
将不可变数组转化为可变数组:toMutableSet()
val mutableMainLine = mainLine.union(subLineJd).union(subLineKs).toMutableSet()mutableMainLine.add("光明路")val newLines = setOf("昌吉东路","上海汽车城")mutableMainLine.addAll(newLines)
移除某个元素:remove(),移除一个集合:removeAll()
mutableMainLine.remove("光明路")mutableMainLine.removeAll(newLines)
Map(集合)
- 集合类型:无序可重复
- 定义:mapOf
阅读全文
1 0
- Kotlin中的集合(Collection)
- Kotlin-26.集合(Collection)
- java中的集合(Collection)
- JAVA中的集合(Collection)
- Kotlin中的集合介绍
- java中的集合(Collection)框架
- Hibernate中的Collection cache(集合缓存)
- java中的集合Collection
- C#中的集合--Collection
- 集合中的Collection方法
- Collection--Java中的collection(集合)接口综述
- java集合Collection中的All
- Slim中的集合类Collection
- 集合(Collection)
- Java 集合(Collection)
- 集合框架(Collection)
- Java 集合(Collection)
- JAVA--集合(Collection)
- YouTube推荐算法解读
- 自行车 前灯 泛光 散光 手电 推荐
- CodeForces
- 双线性插值原理与实现
- hibernate查询
- Kotlin中的集合(Collection)
- java Object 之 finalize 方法
- HDU 1086 You can Solve a Geometry Problem too(判定线段相交 规范相交和非规范相交)
- 树的递归与非递归遍历(C++读文件)
- CodeForces
- Docker快速构建开发调试环境
- 将一个字符串从第M个数据进行复制
- 考研数学
- A Special Day