A ----- > 數(shù)組簡述
1、數(shù)組是一個有序的集合, OC中的數(shù)組只能存儲對象類型,但是對于類型沒有限制
2、通過下標訪問數(shù)組元素, 下標從0 開始
3、NSArray :不可變數(shù)組,即:對象創(chuàng)建好以后,數(shù)組中元素個數(shù)不能發(fā)生變化
4、NSMutableArray :可變數(shù)組,即對象創(chuàng)建好以后,數(shù)組中的元素可以靈活進行增刪改操作
B ------ > NSArray 創(chuàng)建
便利構(gòu)造 : arrayWithObjects : @,@ ,@ ,nil;?
字面量 : 使用@[] ?" [] "中存入對應(yīng)的對象,對象之間用 “ , ” 隔開 例如 : NSSArray *names = @[@"a",@"b",@1];
C ------- > NSArray 常用方法
1、元素個數(shù) : @property ( readonly ) NSUInteger count;
2、獲取數(shù)組中指定下標對應(yīng)的元素
- ( id )ObjectAtIndex : ( ?NSUInteger ) index
3、字面量方式通過下標獲取數(shù)組元素
數(shù)組對象 【元素下標】
4、用來判斷數(shù)組中是否包含某一個給定的對象
- ( BOOL ) containsObject : ( id ) anObject;
5、獲取數(shù)組元素對應(yīng)的索引
- ( NSUInteger )indexOfObject : ( id ) anObject;
6、按照給定的字符串進行截取,將截取的多段字符串放入數(shù)組中
- ( NSArray *)componentsSeperatedByString : ( NSString * ) separator;
例子 : NSString *str = @"www.jjj.com";
NSArray *array = [ str ?componentsSeperatedByString :@" . " ]?
7、將數(shù)組中的元素按照給定的字符串格式拼接成一個完整的字符串對象
- ( NSString *) componentsJoinedByString : ( NSString *) separator;
例子 : NSSArray *array = @[ @"北京",@“大連”,@“河南”,@“上海”,@“廣州”,@“西安” ];
NSString *str = [ array compontentsJoinedByString : "&" ];
D ---- > NSMutableArray 簡述
1、NSMutableArray 是 OC中的可變數(shù)組,父類是 NSArray, 具有NSArray 的所有方法 , 同時在此基礎(chǔ)上添加了 對自身對象的 增刪改操作
E ------ > NSMutableArray ?的創(chuàng)建
arrayWithCapacity ? ?@[@,@,@]mutableCopy
F ----- >NSMutableArray 常用操作
1、數(shù)組中添加一個對象
- (void)addObject: ( id ) object;
2、數(shù)組中指定位置插入一個對象
- ( void )insertObject : ( id ) anObject atIndex : ( NSUInteger )index;
3、數(shù)組中移除一個操作
- ( void )removeObject : ( id ) object;
4、移除數(shù)組中最后一個對象
- ( void)removeLastObject;
5、移除數(shù)組中所有的元素
- ( void ) removeAllObjects;
6、移除數(shù)組中指定位置的元素
- (id)removeObjectAtIndex : ( NSUInteger ) index;
7、使用指定的對象替換指定位置的對象
- ( void )replaceObjectAtIndex : ( NSUInteger ) index ?withObject: ( id ) anObject
8、交換指定的兩個下標對應(yīng)的對象
?- (void)exchangeObjectAtIndex : ( NSUInteger ) index*1 ?withObjectAtIndex: ( NSUInteger ) id*2?
J ------ > 字典起源
name : 張三 ? sex : 男 ?age :18
遇到上述數(shù)據(jù)就是用字典存儲 ,或者自定義類存儲
1、字典是一個無序的集合, 用來存儲具有一一對應(yīng)關(guān)系的數(shù)據(jù)
2、字典中存儲的每一個對象都是一對鍵值對, 鍵值對包含兩個 部分 key 和 value , key 和 value 的值都是對象類型
3、對于每一對key -value ?稱為一個條目 ( Entry )
K ------ > 字典的特點
1、與數(shù)組不同, 字典靠key 存取元素
2、 key 與 value 必須是對象類型
3、字典中鍵值對的存儲是無序的
4、字典分為兩種類型: NSDictionary NSMutableDictionary
L ------ ?> 字典的初始化
dictionaryWithObjectsAndKeys:[];
字面量 : @{} ? {}中存入字典元素 ?,key : value 一一對應(yīng),元素之間用“ , ” 隔開
M ?------ > 不可變字典常用操作
1、獲取字典中鍵值對的個數(shù)
@property ( readonly ) NSUInteger count;
2、獲取字典中所有的鍵
@property ( readonly, copy ) NSArray *allKeys;
3、獲取字典中所有的值
@property ( readonly, copy ) NSArray *allValues
4、根據(jù)鍵獲得對應(yīng)的值
?- ( id ) objectForKey : ( NSString* ) anAttribute
N ------ > NSMutableArray 簡述
NSMutableArray 的父類是 NSDictionary
NSMutableArray 具有NSDictionary的所有方法, 同時 在其基礎(chǔ)上添加了增刪改操作
O ?------- ?> NSMutableArray 創(chuàng)建
dictionaryWithCapacity : ?( NSUInteger ) ...
字面量 : ?[ @{@"",@"",@...} mutableCopy ?]
P ------- > ?NSMutableDictionary 常用操作
1、字典中添加新的鍵值對 以及修改某一對鍵值對
?- ( void )setObject : ( id ) anObject ?forKey: ( id ) < NSCopying > aKey;
2、移除指定的鍵對應(yīng)的鍵值對
- ( void )removeObjectForKey : ( id ) aKey;
3、移除字典中所有的鍵值對
- ? ( void )allAllObjects;
Q------ ?> 集合類 的描述
集合 作為OC 的一個容器, 開發(fā)過程中使用范圍小。 OC 中分為 : NSSet 和 NSMutableSet 兩種
R ----- ?> 集合的特點
1、互異性 : 集合中不能存在兩個相同的對象
2、無序性 : 集合中的對象沒有順序, 先添加的對象不一定在集合的第一個位置, 后添加的也不一定在最后的位置
3、集合經(jīng)常用來處理重用問題
S ------ ?> NSSet 創(chuàng)建
setWithObjects:?
注意 : 不可變集合一旦創(chuàng)建,集合中的對象無法修改, 只能從集合中讀取對象 , 并且沒有快速創(chuàng)建集合對象的字面量
T ------ > NSSet 的常用操作
1、獲取集合中對象的個數(shù)
@property ( readonly ) NSUInteger count;
2、獲取集合中所有的對象
@property ?( readonly,copy ) NSArray *allObjects
3、從集合中取出一個對象
- ( id )anyObject;
4、判斷集合中是否包含一個指定的對象
- ( BOOL ) cotainsObject : ( id ) anObject
U --------- > NSMutableSet概述
NSMutableSet ?( 可變集合 ) 的父類是NSSet, 具有 NSSet所有的方法, 在此基礎(chǔ)上添加了增刪的操作
V - ---- ?>NSMutableSet 創(chuàng)建
setWithCapacity :?
W ----- >NSMutableSet常見操作
1、 添加一個對象
- ( void ) addAnObject : ( id ) object;
2、移除一個對象
- ( void )removeAnObject : ( id ) object;
3、移除所有對象
- ( void )removeAllObjects;
X ?--------- >小結(jié)
1、OC 為我們提供了三大容器 : 數(shù)組、字典、集合,三個集合存儲的都是對象類型
2、數(shù)組 : 是一個有序的集合, 當我們需要管理有序的一組對象的時候需要使用數(shù)組
3、字典:是一個無序的集合, 里面是一個一個的鍵值對, 我們獲取 數(shù)據(jù)的時候需要通過對應(yīng)的 key 來操作,并且 key 在字典中是唯一的
4、集合: 集合是一個無序的容器,并且容器中的對象不能夠重復(fù)
5、可變?nèi)萜黝悓ο笫遣豢勺內(nèi)萜黝悓ο蟮淖宇?, 在擁有父類功能的基礎(chǔ)上, 擴充了對原有對象的增刪改操作