kotlin_集合类型
集合类型Collection
1.有序可重复-Array,索引从0开始(index,i)
2.无序不重复-Set
3.无序可重复-Map,但值有唯一的键(key)
//Array:Array<类型> 或 arrayOf(元素1,元素2,...,元素n)
//大小固定,元素类型不可变
var array1 = arrayOf("1","2","3","2")
//创建一个有默认值的数组,Array(计数,{默认值})
var array2 = Array(10,{"数组2"})
//创建1到10的数组:Array(10,{i->i +1})
//i代表元素的索引值,从0开始
var oneToTen = Array(10,{i->i+1})
println(oneToTen)
//元素计数:count(),空否:isEmpty()
//获取其中元素,数组名[索引],首元素:数组名.first,尾元素:数组名.last
println("${oneToTen.component1()},${oneToTen.component2()}")
//切割数组:sliceArray
val array4 = array1.sliceArray(2..3)
//mutableList:mutableList<类型>或mutableListOf(元素1,元素2,...,元素n)
var array5 = mutableListOf("1","2","3","4")
var array6 = arrayOf("1","2")
//在末尾增加元素:add方法,添加另一个数组addAll方法
array5.add("5")
array5.addAll(array6)
//移除元素remove,移除指定位置removeAt
array5.removeAt(2)
//获取筛选重复元素后的数组:.distinct()或用.toSet()转换为Set
val array3 = array1.toSet()
for(ll in array5.distinct()){
println(ll)
}
集合类型Set:无序不重复
//Set<类型> 或setOf(元素1,元素2,...,元素n)
//大小固定,元素类型不可变
val set1 = setOf("1","2","3","4","5","6")
val set2 = setOf("1","2","10")
val set3 = setOf("4","5")
//元素计数count(),空:isEmpty()
//检查是否包含某个元素,contains,包含另一个Set:containsAll
println(set1.containsAll(set2))
//转化为数组: toTypeArray()
//集合之间的运算:
intersect/subtract/union/minus(补集的被操作对象无须是Set类型)
//转换为可变: toMutableSet
//MutableSet<类型> 或mutableSetOf(元素1,元素2,...,元素n)
大小可变,类型不可变
val mutableMainline = set1.union(set2).union(set3).toMutableSet()
//在末尾增加元素:add方法,添加另一个集合,addAll方法
mutableMainline.add("11")
val newsLines = setOf("12","13")
mutableMainline.addAll(newsLines)
println(mutableMainline)
//移出元素:remove,移出另一个集合:removeAll
mutableMainline.remove("14")
mutableMainline.removeAll(newsLines)
for(s in mutableMainline){
println(s)
}
无序可重复,类似于"字典"的概念
主要属性:keys(Set),values
//mapOf<Key,Value>(Pair(key,value),...)
//显示指定类型,可防止初始化值类型的错误
val content = mapOf<string,string>(Pair("one","1"),Pair("two","2"),
Pair("three","3"))
//元素计数:size,空:isEmpty()
//获取某个key对应的value:get,getOrDefault
println(content.getOrDefault("one","不存在就说明没有问题"))
//返回所有的key:keys,所有的value:values
//转换为可变:toMutableMap
//mutableMapOf<Key,Value>(Pair(key,value),...)
val content2 = content.toMutableMap()
//添加或更新:下标方法 map变量名[key] = value
content2["one"] = "11"
content2["two"] = "22"
//移除元素:remove
content2.remove("three")
for (mut in content2){
println("${mut.key},${mut.value}")
}
swift_集合类型
CollectionTypes.png
数组(Arrays)是有序数据的集。
集合(Sets)是无序无重复数据的集。
字典(Dictionaries)是无序的键值对的集。
//创建一个空数组
var someInts = [Int]()
//创建一个带有默认值的数组
// threeDoubles 是一种 [Double] 数组,等价于 [0.0, 0.0, 0.0]
var threeDoubles = Array(repeating:0.0,count:3)
网友评论