/
————————————不可变数组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 ( @"%@" ,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 ]);
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 ]);
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" );
//- (BOOL)containsObject:(id)anObject;
NSLog ( @"%@" ,[array1 containsObject : @"aa" ]? @"YES" : @"NO" );
//
追加单个对象
//- (NSArray *)arrayByAddingObject:(id)anObject;
NSArray *array1 = @[ @"aa" , @"bb" , @"cc" ] ;
NSLog ( @"%@" ,[array1 arrayByAddingObject : @"ee" ]);
//- (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" ];
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 : @"." ];
//- (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 : @"." ];
//- (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 ];
// 便利构造器创造一个长度为 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" ];
//- (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 ];
NSMutableArray *arr = [ NSMutableArray array ];
[arr insertObject : @"red" atIndex : 0 ];
NSLog(@"%@",arr);
//
移除最后一个对象
//- (void)removeLastObject;
NSMutableArray *arr = [ @[ @"aa" , @"bb" , @"cc" ] mutableCopy ];
[arr removeLastObject ];
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 ];
//- (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" ];
//- (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 ];
//- (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 ];
//- (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" ];
//- (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 )];
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 )];
//- (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];
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);
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);
*/