集合的常用用法

数组(NSArray)

     --------创建数组------------
             +(id)arrayWithObject:(id)object
             -(id)initWithObject:(id)object;

         NSArray  * array  = [[ NSArray   alloc ] initWithObjects : @"string1" , @"string2" , @"string3" nil ];
        
NSLog ( @"%ld" ,[array  count ]);

   1.统计数组长度
        -(unsigned)count   
  
   2.
获取指定的元素位置
                -(id) objectAtIndex:(unsigned)index

        
NSString  *string1 = [array  objectAtIndex : 2 ];
        
NSLog ( @"%@" ,string1);
        
   3.
从字符串切分数组
        
NSString  *string2 = [[ NSString   alloc ] initWithString : @"a,b,c,d,e,f,g" ];
        
NSLog ( @"%@" ,string2);
        
NSArray  *array1 = [string2  componentsSeparatedByString : @"," ];
        
NSLog ( @"%@" ,array1);
        
   4.
合并
        
NSString  *string3 = [array  componentsJoinedByString : @"," ];
        
NSLog ( @"%@" ,string3);

    }


枚举访问
         NSEnumerator
         -(id)nextObject      取得当前对象的下一个对象
         -(NSEnumerator  *)objectEnumerator;      取得枚举对象

               用于访问数组,字典,集合的各个元素。
        NSArray *array = [[NSArray alloc]initWithObjects:@"string1",@"string2",@"string3"nil];

        
NSEnumerator * enumerator = [array  objectEnumerator ];
        id object;
        
while (object = [enumerator nextObject]) {
            
NSLog(@"There is %@;",object);
        }
        

        //由后向前访问
        
NSEnumerator  * enumerator = [array  reverseObjectEnumerator ];
        id object;
        
while (object = [enumerator nextObject]) {
            
NSLog(@"There is %@.",object);
        }

        
//快速枚举
        
for (NSString *object in array) {
            
NSLog(@"Quick enum %@!",object);
        }
 



    ----- 创建一个可变数组-------

    
NSMutableArray  *mutableArray1 = [[ NSMutableArray   alloc ] init ];
         
    1. 向数组中添加元素
            (1) 追加对象object
            -(void)addObject:(id)object 
        [mutableArray1  addObject : @"a" ];
        [mutableArray1 
addObject : @"b" ];
        [mutableArray1 
addObject : @"c" ];

      (2) 在索引index处插入对象object
      -(void)insertObject:(id)object atIndex:(unsigned)index;   
         [mutableArray1  addObject : @"a"  atIndex: 1 ];

      (3) 将索引index处的对象替换为对象object
       -(void)replaceObjectAtIndex:(unsigned)index withObject:(id)object;  
         [mutableArray1  replaceObjectAtIndex :2   withObject:@"a" ];

      (4) 追加数组array中包含的所有对象
       -(void)addObjectsFormArray:(NSArray *)array;

      (5) 将数组仲所有的对象替换为数组array中的元素
      -(void)setArray:(NSArray *)array;

    2.数组删除元素
             (1)删除索引元素
             -(void)removeObjectAtIndex:(unsigned )index
        [mutableArray1 
removeObjectAtIndex : 1 ];

      (2)删除与对象object等值的元素
      -(void)removeObject:(id)object;
        [mutableArray1  removeObject : @"a" ];

      (3)删除与对象object等价的元素
      -(void)removeObjectIdenticalTo:(id)object

      (4)删除与数组array包含的元素相同的元素
      -(void)removeObjectsInArray:(NSArray *)array

      (5)删除最后元素
      -(void)removeLastObject

      (6) 删除所有元素
          -(void)removeAllObjects
      [mutableArray1  removeAllObjects ];
        
    4.
复制一个数组到另一个数组
        
NSMutableArray  *mutableArray2 = [[ NSMutableArray   alloc ] init ];
        mutableArray2 = [
NSMutableArray   arrayWithObject : mutableArray1];
        
NSLog ( @"%@" ,mutableArray2);

    5.
数组的枚举
        
for  ( NSString  *string  in  mutableArray2) {
            
NSLog ( @"%@" ,string);
        }



集合 (NSSet)

          NSSet
NSMutableSet:
           // 声明一个集合
        +(NSMutableSet *)set;
           // 添加一个元素
        -(void)addObject:(id)object;
           // 删除一个元素
        -(void)removeObject:(id)object;
           // 删除所有元素
        -(void)removeAllObject;
           // 插入其他 set
        -(void)intersectSet:(NSSet *)otherSet;
           // 删除 set
        -(void)minusSet:(NSSet *)otherSet;

字典类( NSDictionary ):
    ---------创建字典-------------
   +(id)dictionaryWithObject:(NSArray *)objects forKey:(NSArray *)keys
  -(id)initWithObjects:(NSArray *)objects forKey:(NSArray *)keys

  +(id)dictionaryWithObjectsAndKeys:(id)firstObj …   (值+键)
  -(id)initWithObjectsAndKeys:(id)firstObj...
  NSDictionary  *dictionary = [[ NSDictionary   alloc ] initWithObjectsAndKeys : @"a" , @"0" , @"b" , @"1" , @"c" , @"2" nil ];
              
  1.通过键查值
  -(id)objectForKey:(id)key 
        
if  ([dictionary  objectForKey : @"3" ]) {
            
//key3 返回值为 null if 语句不执行  
            NSLog ( @"%@" ,string);           
        }

   2.以数组的形式返回所有的键
   -(NSArray *)allkeys

   3.返回包含所有键的枚举对象
   -(NSEnumerator *)keyEnumerator
    NSEnumerator *enumerator = [dictionary keyEnumerator];

   4.以数组的形式返回所有值
   -(NSArray *)allValues

   5.返回包含所有值的枚举对象
   -(NSEnumerator *)valueEnumerator

   ------
创建可变字典-----------
   
NSMutableDictionary  *dictionary = [[ NSMutableDictionary   alloc ] initWithObjectsAndKeys : @"a" , @"0" , @"b" , @"1" , @"c" , @"2" nil ];

   1. 追加键值对, 若有则替换
   -(void)setObject:(id)object forKey:(id)key;
   [dictionary 
setObject : @"d"   forKey : @"3" ];
    
NSLog ( @"%@" ,[dictionary  objectForKey : @"3" ]);
   
   2. 删除字典中指定 key 所对应的键值
    -(void)removeObjectForKey:(id)key;

   3.删除与键数组keyArray中元素同值的所有键的键值对
    -(void)removeObjectsForkeys:(NSArray *)keyArray

   4. 删除字典中所有的记录
    -(void)removeAllObjects;

   2.
使用一个初始指定的 size 创建可变词典
    +(id)dictionaryWithCapacity:(unsigned int)size;

   3. 将新分配的词典初始化为指定的 size
    -(id)initWithCapacity:(unsigned int)size;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值