溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ios中常見的數組使用方法有哪些

發布時間:2021-08-09 11:42:00 來源:億速云 閱讀:208 作者:小新 欄目:移動開發

這篇文章主要為大家展示了“ios中常見的數組使用方法有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“ios中常見的數組使用方法有哪些”這篇文章吧。

一、數組的簡單介紹

1.數組是一個對象,是任意類型對象地址的集合,OC的數組可以存儲不同類型的對象

2.OC的數組只能存儲對象,不能存放 簡單的數據類型(int, float, NSInteger…)除非通過一些手段把簡單數據類型變成對象。在C語言中的數組可以保存任意類型的數據。

3.存儲的內存是連續的

二、不可變數組

0.定義數組

//定義一個空數組
NSArray *array1 = [NSArray array] ;
array1 = @[];//空數組
//通過指定對象創建數組
array1 = [[NSArray alloc]initWithObjects:@"123",@"hello",@"ya",@"yuan",@"zi", nil] ;
//通過簡單的方式創建數組
array1 = @[@"123",@"hello",@"ya",@"yuan",@"zi"] ;

1.數組的長度

NSInteger count = array1.count ;
NSLog(@"%ld",count) ;

2.判斷當前的數組中是否包含對應的對象 containsObject

BOOL isHave = [array1 containsObject:@"123"] ;
if (isHave) {
  NSLog(@"存在") ;
 }else{
  NSLog(@"不存在") ;
  }
 
 /*
 
   [A isKindOfClass:B],判斷A類是否是B的子類或者本類。
 
   [A isMemberOfClass:B],判斷A類是否是B類(不包括子類)
 
   */

3.得到數組中最后一個對象

NSString *str = [array1 lastObject];
NSLog(@"str=%@",str) ;

4.得到第一個對象

NSString *str1 = [array1 firstObject];
NSLog(@"str1=%@",str1) ;

5.取出數組的指定的對象 (下標要小于數組的count)

NSString *str2 = [array1 objectAtIndex:3] ;
NSLog(@"str2=%@",str2) ;

6.得到指定元素在數組中的位置 如果元素不存在則打印-1值

int index = (int)[array1 indexOfObject:@"yayuanzi"] ;
int index1 = (int)[array1 indexOfObject:@"ya"] ;
NSLog(@"index=%d,index=%d",index,index1) ;

7.數組的遍歷–> 查找數組中的每一個元素

7.1 基本的for循環通過下標逐一查找

for (int i = 0; i < array1.count; i++) {
 NSString *str3 = [array1 objectAtIndex:i] ;
 NSLog(@"str3 = %@",str3) ;
 }

7.2 for in 快速遍歷 注意:需要讓數組中的元素的類型保持一致

for (NSString *str4 in array1) {
   NSLog(@"str4 = %@",str4) ;
  }

8.把數組中所有的元素轉化為字符串

[array1 componentsJoinedByString:@“兩個元素之間添加的字符串”];

9.取出數組中的一部分元素

//只初始化一個索引
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:2];
 
//下標為1,長度為2
NSRange range = NSMakeRange(0, 3);
 
//構造一個范圍的索引
indexSet = [NSIndexSet indexSetWithIndexesInRange:range];
 
[array objectsAtIndexes:indexSet];

10.把數組寫入文件

[array1 writeToFile:path atomically:YES];

11.從文件中讀取數組

[NSArray arrayWithContentsOfFile:path];

三、可變數組

當數據不確定數量或者動態變化的時候就需要使用到可變數組

0.創建空的可變數組

NSMutableArray *mutArray = [[NSMutableArray alloc]init] ;
NSMutableArray *mutArray1 = [NSMutableArray array];

1.創建有對象的數組

1.初始化只能有一個對象
NSMutableArray arrayWithObject:@"111"];

2.初始化只能有多個對象
2.1[NSMutableArray arrayWithObjects:@"1111",@"222",@"333",@"4444", nil];
2.2[[NSMutableArray alloc] initWithObjects:<#(id), ...#>, nil];

2.添加對象 注意下面兩種的區別

NSMutableArray *mutArray = [[NSMutableArray alloc]init] ;
Person *personName1 = [[Person alloc]initWithName:@"wuhu"] ;
Person *personName2 = [[Person alloc]initWithName:@"yayuanzi"] ;
Person *personName3 = [[Person alloc]initWithName:@"company"] ;
NSArray *arr = [NSArray arrayWithObjects:personName2,personName3, nil] ;
//1.添加對象 注意下面兩種的區別
[mutArray addObject:personName1] ;
NSLog(@"mutArray = %@",mutArray) ;
[mutArray addObject:arr] ; //將arr作為一個對象整體添加到數組上
NSLog(@"mutArray = %@",mutArray) ;
[mutArray addObjectsFromArray:arr] ; //將arr中的對象,一個一個的加到可變數組中
NSLog(@"mutArray = %@",mutArray) ;

3.交換元素的位置根據下標

[mutArray exchangeObjectAtIndex:1 withObjectAtIndex:2] ;

4.刪除元素

//4.1刪除所有的元素
[mutArray removeAllObjects] ;
//4.2刪除最后一個元素
[mutArray removeLastObject] ;
//4.3刪除指定的元素
[mutArray removeObject:personName3] ;
//4.4根據下標來刪除 :注意元素內元素的個數下標問題會導致奔潰
[mutArray removeObjectAtIndex:2] ;

以上是“ios中常見的數組使用方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女