ios学习笔记(五)数组和字典

原创 2015年11月17日 19:14:37

数组类,可存放OC对象,不可存放int float 的基本数据类型和CGRect这两种原始数据

数组中对象的顺序是以索引(index)标记的

数组分为可变数组和不可变数组;可变数组可进行增删改得操作,不可变数组不能进行增删该

不可变数组:

    NSArray *array  = [[NSArray alloc]initWithObjects:@"000",@"111",@"222", nil];//其所因分别为0,1,2

    //获取数组长度

    int arrayCount = [array count];

    //根据索引取值

    NSString *str = [array objectAtIndex:2];

    //str 的值为 222

    //遍历数组,取出数组中的所有元素

    for (int a = 0; a<array.count; a ++) {
        NSString *string = [array objectAtIndex:a ];
        NSLog(@"---------%@--------",string);
    }

    //简单遍历方式
    for (NSString *string2 in array) {
        NSLog(@"-----forin形式遍历------%@",string2);
    }

可变数组:

    //初始数组长度的创建方法,但是添加object时如果超过了这个长度,数组长度会增加
    NSMutableArray *MArry1 = [[NSMutableArray alloc]initWithCapacity:10];
    //初始化变量的创建方法
    NSMutableArray *MArry2 = [[NSMutableArray alloc]initWithObjects:@"000",@"111",@"222", nil];

     //增加元素单个元素
    [MArry1 addObject:@"333"];
    [MArry2 addObject:@"444"];
    //删除数组内所有对象
    [MArry1 removeAllObjects];
    //删除最后一个对象
    [MArry2 removeLastObject];
    //删除指定对象
    [MArry2 removeObject:@"111"];
    //根据索引删除对象
    [MArry2 removeObjectAtIndex:0];
    //在制定索引处插入对象
    [MArry2 insertObject:@"555" atIndex:1];
    //制定索引的对象替换
    [MArry2 replaceObjectAtIndex:1 withObject:@"666"];
    //根据索引交换两个对象的位置
    [MArry2 exchangeObjectAtIndex:0 withObjectAtIndex:1];

    //使用循环添加多个对象
    for (int i = 0; i < 10; i ++) {
        NSString *string = [NSString stringWithFormat:@"--%d--",i];
        [MArry1 addObject:string];
    }
    //遍历操作与不可变数组相同


字典分为可变字典和不可变字典,区别:是否可以进行增删改操作

与数组相比,字典主要的特点是,字典根据自己添加的键(key)来查找值(value),而不是按系统定义的索引(index)

不可变字典

    //创建字典
    NSDictionary *dic = [[NSDictionary alloc]initWithObjectsAndKeys:@"value0",@"key0",@"value1",@"value1",@"value2",@"value2", nil];
    //查询字典中键值对的个数
    int count = [dic count];
    //查询所有的键
    NSArray *arrayForAllKeys = [dic allKeys];
    //查询所有的值
    NSArray *arrayForAllValues = [dic allValues];
    //根据key查询对应的value
    NSString *string = [dic objectForKey:@"key2"];

    //循环遍历
    for (int i = 0; i <arrayForAllKeys.count; i ++) {
        //获取key
        NSString *stringKey = [arrayForAllKeys objectAtIndex:i];
        //获取key对应的Value
        NSString *stringValue = [dic objectForKey:stringKey];
        NSLog(@"-------%@",stringValue);
    }


    //数组中存放int float
    int a = 1;
    float b = 2.5;
    NSNumber *aa = [NSNumber numberWithInt:a];
    NSNumber *bb = [NSNumber numberWithFloat:b];
    NSArray *array = [NSArray arrayWithObjects:aa,bb, nil];

    //以加号方法的形式创建
    NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"value0",@"key0",@"value1",@"value1",@"value2",@"value2", nil];

可变字典

    //创建可变字典
    NSMutableDictionary *MDic = [NSMutableDictionary dictionary];
    //可变字典也可以初始化键值对创建
    NSMutableDictionary *MDic1 = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"value0",@"key0",@"value1",@"value1",@"value2",@"value2", nil];
    //向字典中增加键值对时,若字典中该key不存在,则添加;若字典中该key已存在,则修改对应的value
    [MDic setValue:@"value" forKey:@"key0"];//增加
    [MDic1 setObject:@"value" forKey:@"key0"];//修改
    //删除指定key对应的键值对
    [MDic1 removeObjectForKey:@"key2"];
    //删除所有的键值对
    [MDic1 removeAllObjects];


    //查询遍历操作同不可变字典   
    //使用NSLog输出时,字典使用{}包围内容,数组使用()包围内容
   
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python学习笔记3-Python元组、数组、字典集合的操作

在Python中数组中的每一项可以是不同的数据类型 元组:只能读不能写的数组 aTuple=(1,'abc','tmc',79.0,False) print aTuple[1:3] print typ...

Swift 学习笔记 2-简单值(变量、常量、数组、字典 )

一、变量      Swift的变量有如下几个特征:      1.var 开头定义变量      2.变量需要赋初值      3.打印时利用 \() 来打印 [ \()表示对()的内容进行计算 ]...
  • catch01
  • catch01
  • 2015年02月01日 13:48
  • 350

swift学习笔记(一)(常量、变量、数据类型、字符串的拼接、数组、字典)

import Foundation print("wangshuai") // 1.var 变量 // 当指定一个变量的时候就不可以再指定了,比如 var a = 1 虽然修饰的a可...
  • iOS_Pop
  • iOS_Pop
  • 2016年01月22日 16:59
  • 1047

IOS 开发学习笔记-基础 UI(十)九宫格布局,块动画,字典转模型,Xib使用

IOS 开发学习笔记-基础 UI(10)九宫格布局,块动画,字典转模型,Xib使用 大概如下图示:九个应用图标的样子 功能分析 (1)以九宫格的形式展示应用信息 (2)点击下载...

iOS开发学习笔记 2-5 C语言部分 数组

数组,相同数据类型的元素按一定顺序排列的集合。也就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字就是数组名,编号就是下标。组成数组的各个变量就是数组的元素。    ...
  • lboboby
  • lboboby
  • 2014年05月21日 10:47
  • 551

黑马程序员-ios学习笔记 c语言 数组

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   一、数组的概念         用来存放若干个类型相同的有序的数据的结构,也是一种构造类...

数组和集合的学习笔记

  • 2012年11月08日 18:06
  • 2KB
  • 下载

JavaScript数组对象JSON学习笔记

  • 2013年07月30日 14:40
  • 9KB
  • 下载

【学习ios之路:Objective-C】数组,字符串,字典的总和练习

①.实现方法:13个人,3个人一组,用一个大数组来管理每一个分组. //1.原数组 NSArray *array = @[@1,@2,@3,@4,@5,...
  • ZFX5130
  • ZFX5130
  • 2015年01月06日 20:02
  • 1781

C语言学习笔记变量数组指针

  • 2010年08月25日 23:31
  • 116KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios学习笔记(五)数组和字典
举报原因:
原因补充:

(最多只允许输入30个字)