频道栏目
首页 > 程序开发 > 移动开发 > 其他 > 正文
Kotlin中的集合(Collection)
2017-09-09 09:11:00      个评论    来源:Rushro2m的博客  
收藏   我要投稿

Kotlin中的集合(Collection)。

集合类型。

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
点击复制链接 与好友分享!回本站首页
上一篇:双线性插值原理与实现
下一篇:dodoTask 之this.getApplicationContent与Activity(this本身)content的区别
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站