zoukankan      html  css  js  c++  java
  • swift 初见-5集合类型

    // Playground - noun: a place where people can play
    
    import UIKit
    
    var str = "Hello, playground"
    // swift的集合类型只有数组和字典
    // 数组中只能存储相同类型的数据(可以是基本类型,也可以是类对象)
    
    // 申明方法  [String] Array<String>
    
    // 一旦隐是声明后,他的类型就确定了,不能在存储其他类型的数据了
    var array=["a","b"]
    var array1:[String]=["a","b"]
    var array2:Array<String>=["a","b"]
    
    array[0]="aaa"
    array
    var array4=[Int]()
    var string=String()
    var array5=Array<String>()
    // 这样不会报错,但是没有申明具体的类型,它默认的会是OC中得NSArray类型的数组,所以这样定义的数组已经失去了它的意义了,没法做太多操作
    // var array6=[]
    //array6.append(3)    //error: 'NSArray' does not have a member named 'append'
    // 清空数组 
    array1=[]  // 清空后并不能改变它能存储的数据类型
    array1.append("ccc")
    
    array1=[String]()
    array1=Array<String>()
    // 创建并初始化
    var array6=[Int](count: 10, repeatedValue: 0)
    array6.append(100)
    array6
    
    // 合并数组
    var array7=[1,2,3]
    var array8=array6 + array7
    array8
    array8 += [4,5]
    println(array8)
    array8.removeAtIndex(14)
    // insert ,romove 方法和其他的差不多
    array8.removeLast()
    
    // 注意index都要在索引值内部
    
    // 批量替换,注意是三个点号
    array8[2...4] = [2,2,2]
    array8
    
    array8[2...4]=[100]   // 不需要元素个数与修改的个数相匹配
    array8
    //array8[2...4]=0       // 这样写是错误的
    
    for index in 0...array.count
    {
        println(index)
    }
    
    
    for item in array
    {
        println(item)
    }
    
    // 使用enumerate函数
    for (index,item) in enumerate(array)
    {
        println("(index)-(item)")
    }
    
    // dictionarys  字典是无序的
    var dictionarys=[1:"a",2:"b"]  // 隐式声明
    // 存储的键和值可以任意类型
    // 一个字典只能存储固定的一种键和值的数据类型搭配 (!!特别重要)
    // Dictionary<Int,String>      // 显示声明
    // 注意分割符是 , 号而不是: 号
     var dict1:Dictionary<Int,String>=[1:"bbb"]
      println(dict1)
      
    // 这里分割是 : 号 并不是 , 号
    var dict2:[Int:String]=[1:"aaa"]
    // var dict3:[Int , String]=[1:"aaa"]  // 错误
    println(dict2)
    
    // 清空字典
    var dict3=Dictionary<Int,String>()
    var dict4=[Int:String]()
    // 简便方法清空字典
    dict2=[:]   // 同样清空并不能改变一个字典可以存储的数据类型
    
    dictionarys.count
    dictionarys.isEmpty
    dictionarys[1]  //可选型数据,
    // "hahha"+dictionarys[1] //错误写法
    "hahha"+dictionarys[1]!   // 正确
    // key是不可重复的
    // 插入新值
    dictionarys[3]="c"  // 插入无对应的新key和值
    println(dictionarys)
    // 修改
    dictionarys[3]="3c"
    var oldValue=dictionarys.updateValue("3ccc", forKey: 3)
    
    // 删除
    dictionarys[3]=nil
    println(dictionarys)
     dictionarys.removeValueForKey(2)  //有返回值的,返回被删除的值
     
    // 遍历字典
     for (key,value) in dictionarys
     {
        println("(key) : (value)")
     }
     
     
     dictionarys.keys
     dictionarys.values
    
     for key in dictionarys.keys
     {
        println(key)
     }
     for value in dictionarys.values
     {
        println(value)
     }
     
     
     // let 型数组或者字典定义后是不可以有任何更改操作的
  • 相关阅读:
    分享5款不同的多级导航切换DIV的jQuery特效
    CSS3+JS制作的一款图标任意拖动,并且可以放在文件夹中
    一款jQuery图片浏览插件可简单的设置7种切换效果
    基于HTML5和CSS的焦点图全屏切换的炫酷特效
    一款基于jQuery有趣的眼睛随鼠标进行有磁性的旋转
    jQuery+CSS3打造的3款不同的3D焦点图切换jQuery特效
    Maven Nexus仓库管理器
    Spring Basics
    补昨天的日志
    又一星期的星期一
  • 原文地址:https://www.cnblogs.com/lovelifeloveme/p/4066380.html
Copyright © 2011-2022 走看看