/*
* 集合类型:Set 无序不重复
* 主要方法:交差并补
* */
fun main(args: Array<String>) {
//Set<类型>或setof(元素1,元素2.。。元素n)
//大小固定,元素类型不可变
val mailLine= setOf("鱼洞","南坪","碧津","江北机场")
val subLine= setOf("碧津","双凤桥","空港国际")
val subLinew= setOf("碧津","举人坝")
//元素计数:count(),空否:isEmpty()
print(mailLine.count())
//检查是否包含某个元素:contains,包含另一个Set:containsAll
println(mailLine.contains("南坪"))
println(mailLine.containsAll(subLine))
//转化为数组:toTypeArray()
//集合之间的运算:intersect、subtract、union、minus(补集对象无需要是Set)
val inter=mailLine.intersect(subLine)
println(inter)//-交集----->>[碧津]
println(mailLine.subtract(subLine))//-差集----->>[鱼洞, 南坪, 江北机场]
println(mailLine.union(subLine))//并集----》》[鱼洞, 南坪, 碧津, 江北机场, 双凤桥, 空港国际]
println(mailLine.minus(subLine))//补集--->>[鱼洞, 南坪, 江北机场]
//MutableSet <类型>或mutableSetof(元素1,元素2,,,,元素n)
//大小可变,类型不变
val mutableLine=mailLine.union(subLine).toMutableSet()
//在末尾增加元素:add()方法,添加另一个集合:addAll方法
mutableLine.add("明佳路")
mutableLine.addAll(subLinew)
//移除元素:remove() 移除一个集合removeAll
mutableLine.remove("明佳路")
mutableLine.removeAll(subLinew)
}