美文网首页
OC 基础 ---- >数组、字典、集合

OC 基础 ---- >数组、字典、集合

作者: b8028f13eaa2 | 来源:发表于2016-05-19 20:17 被阅读140次

    A ----- > 数组简述

    1、数组是一个有序的集合, OC中的数组只能存储对象类型,但是对于类型没有限制

    2、通过下标访问数组元素, 下标从0 开始

    3、NSArray :不可变数组,即:对象创建好以后,数组中元素个数不能发生变化

    4、NSMutableArray :可变数组,即对象创建好以后,数组中的元素可以灵活进行增删改操作

    B ------ > NSArray 创建

    便利构造 : arrayWithObjects : @,@ ,@ ,nil; 

    字面量 : 使用@[]  " [] "中存入对应的对象,对象之间用 “ , ” 隔开 例如 : NSSArray *names = @[@"a",@"b",@1];

    C ------- > NSArray 常用方法

    1、元素个数 : @property ( readonly ) NSUInteger count;

    2、获取数组中指定下标对应的元素

    - ( id )ObjectAtIndex : (  NSUInteger ) index

    3、字面量方式通过下标获取数组元素

    数组对象 【元素下标】

    4、用来判断数组中是否包含某一个给定的对象

    - ( BOOL ) containsObject : ( id ) anObject;

    5、获取数组元素对应的索引

    - ( NSUInteger )indexOfObject : ( id ) anObject;

    6、按照给定的字符串进行截取,将截取的多段字符串放入数组中

    - ( NSArray *)componentsSeperatedByString : ( NSString * ) separator;

    例子 : NSString *str = @"www.jjj.com";

    NSArray *array = [ str  componentsSeperatedByString :@" . " ] 

    7、将数组中的元素按照给定的字符串格式拼接成一个完整的字符串对象

    - ( NSString *) componentsJoinedByString : ( NSString *) separator;

    例子 : NSSArray *array = @[ @"北京",@“大连”,@“河南”,@“上海”,@“广州”,@“西安” ];

    NSString *str = [ array compontentsJoinedByString : "&" ];

    D ---- > NSMutableArray 简述

    1、NSMutableArray 是 OC中的可变数组,父类是 NSArray, 具有NSArray 的所有方法 , 同时在此基础上添加了 对自身对象的 增删改操作

    E ------ > NSMutableArray  的创建

    arrayWithCapacity    @[@,@,@]mutableCopy

    F ----- >NSMutableArray 常用操作

    1、数组中添加一个对象

    - (void)addObject: ( id ) object;

    2、数组中指定位置插入一个对象

    - ( void )insertObject : ( id ) anObject atIndex : ( NSUInteger )index;

    3、数组中移除一个操作

    - ( void )removeObject : ( id ) object;

    4、移除数组中最后一个对象

    - ( void)removeLastObject;

    5、移除数组中所有的元素

    - ( void ) removeAllObjects;

    6、移除数组中指定位置的元素

    - (id)removeObjectAtIndex : ( NSUInteger ) index;

    7、使用指定的对象替换指定位置的对象

    - ( void )replaceObjectAtIndex : ( NSUInteger ) index  withObject: ( id ) anObject

    8、交换指定的两个下标对应的对象

     - (void)exchangeObjectAtIndex : ( NSUInteger ) index*1  withObjectAtIndex: ( NSUInteger ) id*2 

    J ------ > 字典起源

    name : 张三   sex : 男  age :18

    遇到上述数据就是用字典存储 ,或者自定义类存储

    1、字典是一个无序的集合, 用来存储具有一一对应关系的数据

    2、字典中存储的每一个对象都是一对键值对, 键值对包含两个 部分 key 和 value , key 和 value 的值都是对象类型

    3、对于每一对key -value  称为一个条目 ( Entry )

    K ------ > 字典的特点

    1、与数组不同, 字典靠key 存取元素

    2、 key 与 value 必须是对象类型

    3、字典中键值对的存储是无序的

    4、字典分为两种类型: NSDictionary NSMutableDictionary

    L ------  > 字典的初始化

    dictionaryWithObjectsAndKeys:[];

    字面量 : @{}   {}中存入字典元素  ,key : value 一一对应,元素之间用“ , ” 隔开

    M  ------ > 不可变字典常用操作

    1、获取字典中键值对的个数

    @property ( readonly ) NSUInteger count;

    2、获取字典中所有的键

    @property ( readonly, copy ) NSArray *allKeys;

    3、获取字典中所有的值

    @property ( readonly, copy ) NSArray *allValues

    4、根据键获得对应的值

     - ( id ) objectForKey : ( NSString* ) anAttribute

    N ------ > NSMutableArray 简述

    NSMutableArray 的父类是 NSDictionary

    NSMutableArray 具有NSDictionary的所有方法, 同时 在其基础上添加了增删改操作

    O  -------  > NSMutableArray 创建

    dictionaryWithCapacity :  ( NSUInteger ) ...

    字面量 :  [ @{@"",@"",@...} mutableCopy  ]

    P ------- >  NSMutableDictionary 常用操作

    1、字典中添加新的键值对 以及修改某一对键值对

     - ( void )setObject : ( id ) anObject  forKey: ( id ) < NSCopying > aKey;

    2、移除指定的键对应的键值对

    - ( void )removeObjectForKey : ( id ) aKey;

    3、移除字典中所有的键值对

    -   ( void )allAllObjects;

    Q------  > 集合类 的描述

    集合 作为OC 的一个容器, 开发过程中使用范围小。 OC 中分为 : NSSet 和 NSMutableSet 两种

    R -----  > 集合的特点

    1、互异性 : 集合中不能存在两个相同的对象

    2、无序性 : 集合中的对象没有顺序, 先添加的对象不一定在集合的第一个位置, 后添加的也不一定在最后的位置

    3、集合经常用来处理重用问题

    S ------  > NSSet 创建

    setWithObjects: 

    注意 : 不可变集合一旦创建,集合中的对象无法修改, 只能从集合中读取对象 , 并且没有快速创建集合对象的字面量

    T ------ > NSSet 的常用操作

    1、获取集合中对象的个数

    @property ( readonly ) NSUInteger count;

    2、获取集合中所有的对象

    @property  ( readonly,copy ) NSArray *allObjects

    3、从集合中取出一个对象

    - ( id )anyObject;

    4、判断集合中是否包含一个指定的对象

    - ( BOOL ) cotainsObject : ( id ) anObject

    U --------- > NSMutableSet概述

    NSMutableSet  ( 可变集合 ) 的父类是NSSet, 具有 NSSet所有的方法, 在此基础上添加了增删的操作

    V - ----  >NSMutableSet 创建

    setWithCapacity : 

    W ----- >NSMutableSet常见操作

    1、 添加一个对象

    - ( void ) addAnObject : ( id ) object;

    2、移除一个对象

    - ( void )removeAnObject : ( id ) object;

    3、移除所有对象

    - ( void )removeAllObjects;

    X  --------- >小结

    1、OC 为我们提供了三大容器 : 数组、字典、集合,三个集合存储的都是对象类型

    2、数组 : 是一个有序的集合, 当我们需要管理有序的一组对象的时候需要使用数组

    3、字典:是一个无序的集合, 里面是一个一个的键值对, 我们获取 数据的时候需要通过对应的 key 来操作,并且 key 在字典中是唯一的

    4、集合: 集合是一个无序的容器,并且容器中的对象不能够重复

    5、可变容器类对象是不可变容器类对象的子类 , 在拥有父类功能的基础上, 扩充了对原有对象的增删改操作

    相关文章

      网友评论

          本文标题:OC 基础 ---- >数组、字典、集合

          本文链接:https://www.haomeiwen.com/subject/hacgrttx.html