Oc-语句总结(2)--NSArray(补充)—对象

/ ————————————不可变数组NSArray———————————— /
// 初始化
        NSArray *array1 = [[ NSArray alloc ] initWithObjects : @"A" , @"B" , @"C" , nil ];
       
NSLog ( @"%@" ,array1);
       
NSArray *array2 = [[ NSArray alloc ] initWithArray :array1];
       
NSLog ( @"%@" ,array2);
// 便利构造器
       
NSArray *array3 = [ NSArray arrayWithObjects : @"w" , @"e" , @"s" , nil ];
       
NSLog ( @"%@" ,array3);
// 快速创建
       
NSArray *array4 = @[ @"aa" , @"bb" , @"cc" ] ;
        NSLog(@"array4 = %@",array4);

  // 获取数组内元素个数
        // -(NSUInteger)count;
       
NSArray *array1 = @[ @"aa" , @"bb" , @"cc" ] ;
       
NSLog ( @"%lu" ,[array1 count ]);

  // 返回指定索引 ( 角标 ) 的数组元素
        //- (id)objectAtIndex:(NSUInteger)index;
        
NSArray *array1 = @[ @"aa" , @"bb" , @"cc" ] ;
       
// 倒数第三个角标数的元素为
        
NSLog ( @"%@" ,[array1 objectAtIndex :[array1 count ]- 2 ]);
       
// 角标为 2 所对应的元素是
       
NSLog ( @"%@" ,[array1 objectAtIndex : 2 ]);
      
// 便利方法
       
NSLog ( @"%@" ,array1[ 2 ]);
   
// 判断数组中是否包含某个对象
   
//- (BOOL)containsObject:(id)anObject;
   
NSLog ( @"%@" ,[array1 containsObject : @"aa" ]? @"YES" : @"NO" );
   
// 追加单个对象
  
//- (NSArray *)arrayByAddingObject:(id)anObject;
       
NSArray *array1 = @[ @"aa" , @"bb" , @"cc" ] ;
       
NSLog ( @"%@" ,[array1 arrayByAddingObject : @"ee" ]);
 
    // 追加其他数组  
    //- (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray;
           NSArray *array1 = @[ @"aa" , @"bb" , @"cc" ] ;
          NSArray *array2 = @[@"dd",@"ee",@"ff"];
           NSArray *array3 = [array1 arrayByAddingObjectsFromArray :array2];
          NSLog(@" 追加后为 %@" ,array3);

// 获取数组中元素对象的下标
       
NSArray *array1 = @[ @"aa" , @"bb" , @"cc" ] ;
       
//- (NSUInteger)indexOfObject:(id)anObject;
       
NSUInteger index = [array1 indexOfObject : @"aa" ];
        NSLog(@"%lu",index);

// 分割字符串存入数组
       
//- (NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator;
       
NSString *string = @"www.baidu.com" ;
       
NSArray *array = [string componentsSeparatedByString : @"." ];
        NSLog(@"%@",array);

  // 分割数组为字符串
       
//- (NSString *)componentsJoinedByString:(NSString *)separator;
       
NSArray *array = @[ @"www" , @"baidu" , @"com" ] ;
       
NSString *string = [array componentsJoinedByString : @"." ];
        NSLog(@"%@",string);

/ ————————————可变数组NSMutableArray———————————— /
/ 初始化
        NSMutableArray *arr =[[ NSMutableArray alloc ] initWithObjects : @"hello" , @"leihao" , nil ];
       
// 便利构造器创造一个长度为 0 的数组 -- 空数组
       
NSMutableArray *arr1 = [ NSMutableArray arrayWithCapacity : 0 ];
       
// 快速创建
       
NSMutableArray *arr2 = [arr mutableCopy ];
       
NSMutableArray *arr3 = [ @[ @"haha" , @"hahaha" , @"hahaha" ] mutableCopy ];
        NSLog(@"%@",arr2);

     // 添加对象
   
//- (void)addObject:(id)anObject;
       
// 创建一个可变空数组
   
NSMutableArray *arr = [ NSMutableArray array ];
    [arr
addObject : @"haha" ];
    NSLog(@"%@",arr);
  
    // 根据索引和角标插入对象
       //- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
       
NSMutableArray *arr = [ NSMutableArray array ];
        [arr
insertObject : @"red" atIndex : 0 ];
        NSLog(@"%@",arr);
  

     // 移除最后一个对象
        
//- (void)removeLastObject;
       
NSMutableArray *arr = [ @[ @"aa" , @"bb" , @"cc" ] mutableCopy ];
        [arr
removeLastObject ];
       
NSLog ( @"%@" ,arr);
   
  // 移除指定索引 ( 角标 ) 位置对象
       
//- (void)removeObjectAtIndex:(NSUInteger)index;
       
NSMutableArray *arr = [ @[ @"wo" , @"shi" , @"yang" ] mutableCopy ];
        [arr
removeObjectAtIndex : 2 ];
        NSLog(@"%@",arr);

  // 替换指定索引 ( 角标 ) 替换指定对象
   
//- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
       
NSMutableArray *arr  = [ @[ @"a" , @"b" , @"c" , @"d" , @"e" ] mutableCopy ];
        [arr
replaceObjectAtIndex : 1 withObject : @"a" ];
        NSLog(@"%@",arr);

// 销毁对象(清空)
       
//- (void)removeAllObject;
       
NSMutableArray *arr  = [ @[ @"a" , @"b" , @"c" , @"d" , @"e" ] mutableCopy ];
        [arr
removeAllObjects ];
        NSLog(@"%@",arr);

  // 根据角标或索引,调换数组内对象位置
        
//- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2;
        
NSMutableArray *arr  = [ @[ @"a" , @"b" , @"c" , @"d" , @"e" ] mutableCopy ];
        [arr
exchangeObjectAtIndex : 0 withObjectAtIndex : 1 ];
        NSLog(@"%@",arr);

  // 移除指定对象
        
//- (void)removeObject:(id)anObject;
         
NSMutableArray *arr  = [ @[ @"a" , @"b" , @"c" , @"d" , @"e" ] mutableCopy ];
         [arr
removeObject : @"a" ];
         NSLog(@"%@",arr);


      // 移除指定范围内,规定的对象
        //- (void)removeObject:(id)anObject inRange:(NSRange)range;
           
NSMutableArray *arr  = [ @[ @"a" , @"bb" , @"c" , @"d" , @"e" ] mutableCopy ];
           [arr
removeObject : @"bb" inRange : NSMakeRange ( 0 , 2 )];
           NSLog(@"%@",arr);

// 指定 ( 数组 B 的指定区域 ) 的元素 替换 ( 数组 A 的指定区域 )
        
//- (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray range:(NSRange)otherRange;
         
NSMutableArray *arr  = [ @[ @"a" , @"bb" , @"c" , @"d" , @"e" ] mutableCopy ];
         
NSMutableArray *arr1 = [ NSMutableArray arrayWithObjects : @"May" , @"June" , @"July" , nil ];
        
// 被替换指定数组范围                                                                     arr1 范围内的数组替换
          [arr
replaceObjectsInRange : NSMakeRange ( 0 , 1 ) withObjectsFromArray :arr1 range : NSMakeRange ( 0 , 2 )];
          NSLog(@"%@",arr);


       // 追加数组 a 到数组 b
        //- (void)addObjectsFromArray:(NSArray *)otherArray;
     
NSMutableArray *arr = [ @[ @"aa" , @"bb" , @"cc" , @"dd" ] mutableCopy ];
     
NSMutableArray *arr1 = [ NSMutableArray arrayWithObjects : @"May" , @"June" , @"July" , nil ];
      
// arr1 追加到 arr 里中
        [arr
addObjectsFromArray :arr1];
        NSLog(@"%@",arr);

  //Oc冒泡 排序
           // 创建一个空的可变数组
       
NSMutableArray *numArr = [ NSMutableArray array ];
        
// 将基本数据类型包装成 NSnumber 对象类型 , 并循环追加到可变数组 numArr
       
for ( int i = 0 ;i< 10 ;i++){
           
NSNumber *num = [ NSNumber numberWithInteger : arc4random ()% 90 ];
            [numArr
addObject :num];}
 
         
// 冒泡排序     1. 建立模型   2. 比较大小   3. 调换位置
        
for ( int i = 0 ;i<[numArr count ]- 1 ;i++){
           
for ( int j = 0 ;j<[numArr count ]- 1 -i;j++) {
 
//  --> 方法 1
               
if ([numArr[j] intValue ]>[numArr[j+ 1 ] intValue ]) {
                    [numArr
exchangeObjectAtIndex :j withObjectAtIndex :j+ 1 ];} }}
                   
NSLog ( @"%@" ,numArr);
 
   
/*
                 for(int i = 0;i<[numArr count]-1;i++){
                     for (int j = 0;j<[numArr count]-1-i;j++) {
            // -->
方法 2
                         if ([numArr[j] intValue]>[numArr[j+1] intValue]) {
                             NSString *str = numArr[j] ;
                             numArr[j] = numArr[j+1];
                             numArr[j+1] = str;}}}
                       NSLog(@"%@",numArr);

    */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值