OC中的陣列、字典、集合
一.NSArray陣列
特點:
a.陣列是有序的連續空間,可以通過下標索引訪問,下標從0開始
b.陣列中只可以儲存相同資料型別且值相同的元素, 且只能儲存物件型別,但物件型別不做任何限制。
c.OC中陣列型別只有NSArray和NSMutabileArray兩種型別
d.OC中陣列沒有二維陣列的概念,陣列可以直接巢狀陣列.
1.基礎語法
①.笑笑語法
NSArray *arr1 =@[@"Frank",@"Lanou",@1,@"Frank",@"藍鷗",@3.14];
陣列結合遍歷使用
for (int i = 0; i<6; i++) {
NSLog(@"%@",arr1[i]);
}
②.初始化方法
NSString *num = [NSNumber numberWithInt:1];
NSArray *arr2 = [[NSArray alloc]initWithObjects:@1,@2,@3,@4,@5, nil];
③. 遍歷構造器
NSArray *arr3 =[NSArray arrayWithObjects:@1.1,@1.2,@1.3,@1.4,@1.5,nil];
2. NSArray的操作函式
①.獲取元素個數:屬性count
NSArray *a1 = @[@('A'),@('B'), @('C'), @('D'), @('E'),@"abc"];
int count = (int)a1.count;
②.獲取某下標對應的元素:笑笑語法就是array[index];
NSNumber *n1 = [a1 objectAtIndex:2];
NSString *s1 = [a1 objectAtIndex:2];
③.判斷陣列中是否包含某一元素:關鍵詞contain
BOOL isTrue = [a1 containsObject:@('E')];
④.獲取某一個元素的下標 :關鍵詞index
int index1 =(int)[a1 indexOfObject:@69];
⑤.NSString按照特定字串 裁剪(Separate) 得到 NSArray
(NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator;
注:(NSArray<NSString *> *):返回值是元素都是NSString物件型別的陣列(NSArray)物件
NSString *strURL = @"www.baidu.com";
NSArray *array2 = [strURL componentsSeparatedByString:@"."];
⑥.NSArray 中的各個元素按照指定字串 拼接(component) 成NSString
strURL = [array2 componentsJoinedByString:@"*"];
NSString *str = @"http://www.imanhua.com/Cover/2011- 10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg";
將字串str裁剪後可轉換為陣列
NSArray *array3 = [str componentsSeparatedByString:@"&"];
```
## 二.NSDictionary
特點:
a.字典以 key -- value 鍵值對 儲存資料, 和類很類似
b.字典儲存資料是無序,通過key值獲得對應的value
c.key是唯一確定的,一個key對應一個value;value沒有要求,一個value可以對應多個key.
1.笑笑語法 : key和value之間用: 隔開,和其他key-value以逗號隔開
NSDictionary *dic1 = @{@"name":@"zhangsan", @"age":@18, @"gender": @"male"};
2.初始化方法
NSDictionary *dic2 = [[NSDictionary alloc]initWithObjectsAndKeys:@1,@"num1", @2,@"num2",@1,@"num3", @4,@"num2",nil];
3.遍歷構造器
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@1,@"num1", @2,@"num2",@1,@"num3",nil];
4.鍵值對數量 : 屬性.count
NSLog(@"%lu", dic3.count);
5.獲得所有的keys 和所有的value
NSArray *keys = dic3.allKeys;
NSArray *values = dic3.allValues.
6.通過key來取對應的value
NSNumber *dNum1 = [dic3 objectForKey:@"num1"];
##三.NSSet
特點:
a.互異性:不能出現相同的物件 -- 用於解決重用問題
b.無序性:儲存資料無序,應用範圍不廣
1.初始化方法和遍歷構造器
NSSet *set1 = [[NSSet alloc]initWithObjects:@1,@2,@1,@3, nil];
NSSet *set2 = [NSSet setWithObjects:@1,@2,@3,nil];
2.物件個數: 屬性count
set1.count
3.所有元素
set1.allObjects
######歡迎加群192699811討論,相互學習
相關文章
- Swift - 陣列、字典、集合Swift陣列
- OC中陣列、字典的遍歷的三種方法陣列
- iOS 字典轉陣列,陣列轉字典iOS陣列
- Swift學習筆記第三篇(字串,陣列,集合,字典)Swift筆記字串陣列
- js 取陣列中某個物件的集合JS陣列物件
- 【java】【集合】陣列和集合的基本概述Java陣列
- python中的集合與字典Python
- 陣列包含字典 去重陣列
- js陣列方法集合JS陣列
- 【IOS初學者】陣列與字典iOS陣列
- Object-C陣列和字典Object陣列
- 關於字典和陣列的疑問陣列
- java之陣列與集合Java陣列
- 陣列和集合的相互轉換陣列
- js將偽陣列或者集合轉換為陣列JS陣列
- 雙陣列字典樹(Double Array Trie)陣列
- ORM 如何不用迴圈只返回表中單列的陣列集合 - pluckORM陣列
- Rust中將陣列轉為集合型別的簡單方法Rust陣列型別
- C#陣列與集合的區別C#陣列
- 陣列與集合List的相互轉化陣列
- JavaScript 陣列方法集合及示例!JavaScript陣列
- Scala陣列、元組與集合陣列
- 陣列轉換成List集合陣列
- ajax 提交陣列 泛型集合陣列泛型
- 【ITOO】--陣列、集合、泛型解析陣列泛型
- Java中 set,list,array(集合與陣列)、Map相互轉換Java陣列
- 集合框架-Arrays工具類的asList()方法(把陣列轉成集合)框架陣列
- Java集合和陣列的排序方式總結Java陣列排序
- Java 集合與陣列互相轉換Java陣列
- Html遍歷物件、list集合、陣列HTML物件陣列
- Ruby中的陣列陣列
- Go中的陣列Go陣列
- Java中的陣列Java陣列
- OC 和 Swift 中是如何用列舉的?Swift
- List ,Set,Map集合與陣列互轉陣列
- C#陣列 多個集合和陣列的操作(合併,去重,拆分,判斷)C#陣列
- 【Java】【集合】collection介面常見方法、集合轉陣列toArray()、帶ALL的方法Java陣列
- JavaScript中對陣列和陣列API的認識JavaScript陣列API