swift 集合


// 集合: array、set、dictionary,称为泛型集合


// array:   Array<Element>、 [Element]
var someInts: [Int] = [] // 空数组
someInts.append(123)
var threeDoubles = Array(repeating: 1.3, count: 3)
var anotherDoubles = [2.3,2.4]
var fiveDoubles = threeDoubles + anotherDoubles // 数组相加
//可以直接使用下标来获取数据值
//使用区间来替换部分数据值
fiveDoubles[3...4] = [1.2,4.5]
print(fiveDoubles)



// set 相同类型、没有确定顺序的值
/*
 一个类型为了储存在集合中,该类型必须是可以哈希化的--也就说该类型必须提供一个方法来计算哈希值,一个哈希值
 是一个Int类型,相同的对象必须要拥有相同的哈希值
 默认基本数据类型和没有关联值的枚举成员值都是可哈希化的。
 因此储存数据对象必须要实现哈希协议,Hashable
 */

// Set<Element>    []
// set 类型需要显示声明
var letters = Set<Character>() // 空集合
letters.insert("a")
var likeString: Set<String> = ["aaaa","bbbb","ccccc"]

// 集合的基本操作: 交集、并集、差集等等
let oddDigits:Set = [1,3,5,7,9]
let enenDIgits:Set = [0,2,4,6,8]
let singleDIgits:Set = [2,3,5,7]

oddDigits.union(enenDIgits).sorted()//并集
oddDigits.intersection(enenDIgits).sorted() // 交集
oddDigits.subtracting(singleDIgits) // 差集,具有顺序
oddDigits.symmetricDifference(singleDIgits)// 并集-差集,即两者中除去公共的部分
//另外集合还有是否包含、子集、被包含等关系的函数

//字典: Dictionary,无序集合。储存键值对之间的关系
// Diction<Key,Value>, [Key:Value]
var namesOfInteger:[Int:String] = [:] //空字典
namesOfInteger[13] =  "ssss" //添加键值对
//字典遍历
for (namesInt,namesString) in namesOfInteger{
    print("\(namesInt),\(namesString)")
}

// 利用字典创建数组、集合
let one = [Int](namesOfInteger.keys)
let two = [String](namesOfInteger.values)
let three = Set<Int>(namesOfInteger.keys)






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值