/**
* 描述:集合类型 Set : 无序不重复
* 主要方法: 交差并补
* 作者:jet
* 创建时间: 2017-11-20 14:11
* 修改人:
* 修改时间:
* 修改内容:
*/
fun main(args: Array<String>) {
//Set<类型> 或setOf(元素1,元素2,....,元素n)
//大小固定,元素类型不可变
// 地铁1号线: "罗湖站","国贸站","老街站","大剧院站","科学馆站", "华强路站","岗厦站", "会展中心站","购物公园站"
// "香蜜湖站、","车公庙站","竹子林站","侨城东站","华侨城站", "世界之窗站","白石洲站", "高新园站","深大站", "桃园站","大新站"
// "鲤鱼门站","前海湾站","新安站","宝安中心站","宝体站", "坪洲站","西乡站", "固戍站","后瑞站","机场东站"
val lin1Step1 = setOf("罗湖站","国贸站","老街站","大剧院站","科学馆站", "华强路站","岗厦站", "会展中心站","购物公园站")
val lin1Step2 = setOf("香蜜湖站、","车公庙站","竹子林站","侨城东站","华侨城站", "世界之窗站","白石洲站", "高新园站","深大站", "桃园站","大新站")
val lin1Step3 = setOf( "鲤鱼门站","前海湾站","新安站","宝安中心站","宝体站", "坪洲站","西乡站", "固戍站","后瑞站","机场东站")
//元素计数:count(),空否:isEmpty()\
//检查是否包含某个元素: contains, 包含另一个Set: containsAll
val lin1Tets1 = setOf("罗湖站","国贸站","老街站")
println(lin1Step1.containsAll(lin1Tets1))
//转化为数组:toTypedArray()
val newArray =lin1Tets1.toTypedArray()
for (s in newArray) {
print(s+" ")
}
println()
//集合之间的运算: intersect/subtract/union/minus(补集的被操作对象无须是Set类型)
//转换为可变: toMutableSet
//MutableSet<类型> 或 mutableSetOf(元素1, 元素2, ...,元素n)
//大小可变,类型不可变
val mutableMainLine =lin1Step1.union(lin1Step2).union(lin1Step3).toMutableSet()
println(mutableMainLine.joinToString())
//在末尾增加元素:add方法. 添加另一个集合: addAll方法
mutableMainLine.add("罗湖站1")
println(mutableMainLine.joinToString())
val newsLines = setOf("罗湖站2","罗湖站3")
mutableMainLine.addAll(newsLines)
println(mutableMainLine.joinToString())
//移出元素:remove, 移出另一个集合:removeAll
mutableMainLine.remove("罗湖站1")
// mutableMainLine.removeAll(newsLines)
println(mutableMainLine.joinToString())
}
出自:http://www.xiaoboswift.com/course/54
网友评论