NSArray和NSMutableArray

1、NSArray的基本介紹:數組

NSArray是OC語言中的數組類,能夠存放多種類型的數據。atom

2、NSArray的初始化:code

//只有一個數據的數組 
NSArray *arr1 = [NSArray arrayWithObject:@"1"];

NSArray *arr2 = [NSArray arrayWithObjects:@"2",@"3",@"4",nil];        
//用數組生成另外一個數組
NSArray *arr3 = [NSArray arrayWithArray:arr2];        
//多個數據的數組初始化(最經常使用)
 NSArray *arr4 = @[
                   arr1,
                   arr2,
                   arr3
                  ];

for (int i = 0; i < 3; i++) {
            
     NSLog(@"arr%d - %@",i,arr4[i]);
            
 }

3、NSArray的常見用法:component

//初始化字符串arr
NSArray *arr = @[@"1",@"2",@"3",@"a",@"b",@"c",@"你好",@"我好",@"他好"];
//arr.count - 獲取數組中元素的個數
NSLog(@"arrr - count - %lu",(unsigned long)arr.count);
//objectAtIndex - 得到某個位置的元素
NSLog(@"arr - 2 - %@",[arr objectAtIndex:2]);
//containsObject - 檢查某個元素是否存在,存在返回1,不然返回0;
NSLog(@"arr- contain - %d",[arr containsObject:@"1"]);
//查找某個元素在數組中的位置,(若是找不到,返回-1)
NSLog(@"arr - indexOF1 - %lu",(unsigned long)[arr indexOfObject:@"1"]);
//返回數組中第一個元素 - arr.firstObject
NSLog(@"arr - first - %@",arr.firstObject);
//返回數組中最後一個元素 - arr.lastObject
NSLog(@"arr - first - %@",arr.lastObject);

4、NSArray的遍歷方法:rem

//一、NSArray的普通遍歷
NSArray *arr = @{@"1",@"a",@"asd"}
for (int i = 0; i<array.count; i++) { 
   NSLog(@"arr[%d] - %@",i,arr[i]);
 }
//二、NSArray的快速遍歷
for (id obj in array) { 
   NSLog(@"obj - %@",obj);
 }
//三、NSArray使用block進行遍歷
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger  idx, BOOL *stop) {

}];

5、NSArray的讀寫文件操做:字符串

//一、NSArray數據寫入到文件中
NSArray *array = @[@"a",@"b"];
BOOL res = [array writeToFile:@"/Users/sleepingsun/Desktop/test.txt" atomically:YES];

NSLog(@"%@",array);
//二、從文件中讀取數據到NSArray中

NSArray *array1 = [NSArray arrayWithContentsOfFile:@"/Users/sleepingsun/Desktop/test.txt"];

NSLog(@"%@",array1);

6、NSArray和NSString的相互轉化:it

//初始化字符串
NSString *str = @"牀前山月光 疑是地上霜 舉頭望明月 低頭思故鄉";
//NSString轉化爲NSArray - componentsSeparatedByString - 把字符串分割成數組元素       
NSArray *arr = [str componentsSeparatedByString:@" "]; 
for (NSString *temp in arr) {
     NSLog(@"temp - %@",temp);
}  
//NSArray轉化爲NSString  - componentsJoinedByString - 把數組元素拼接成字符串
NSString *str2 = [arr componentsJoinedByString:@","];
NSLog(@"str2 - %@",str2);

7、NSMutableArray及基本使用table

  • NSMutableArray是NSArray的子類。NSArray是不可變的,一旦初始化完畢後, 它裏面的內容就永遠是固定的,不能刪除裏面的元素,也不能再往裏面添加元素。
  • NSMutableArray是可變的, 隨時能夠往裏面添加\更改\刪除元素
//1.初始化 生成一個徹底空的數組
NSMutableArray *arr = [NSMutableArray array];        
//2.經過一個不可變數組變成可變數組
NSMutableArray *arr2 = [NSMutableArray arrayWithArray:@[@"1",@"2"]];
NSMutableArray *arr3 = [@[@"1",@"2"] mutableCopy];
//3.增長元素
[arr addObject:@"1"];
//把arr2的全部元素添加到arr中
[arr addObjectsFromArray:arr2];
//在數組的某個位置插入一個元素
[arr insertObject:@"2" atIndex:1];
//4.刪除元素
//刪除全部元素
[arr removeAllObjects];
//刪除最後一個元素
[arr removeLastObject];
//刪除特定元素        
[arr removeObject:@"1"];
//刪除數組中某位的元素
[arr removeObjectAtIndex:3];
//刪除rang範圍內的全部元素
[arr removeObjectsInRange:rang];
//5.修改元素 - replaceObjectAtIndex
//把第0位的元素修改成2
[arr replaceObjectAtIndex:0 withObject:@"2"];
arr[0] = @"2"
//把第0位的元素和第1位的元素交換
[arr exchangeObjectAtIndex:0 withObjectAtIndex:1];
相關文章
相關標籤/搜索