溫馨提示×

溫馨提示×

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

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

OC 字典 集合

發(fā)布時間:2020-09-21 09:17:06 來源:網(wǎng)絡(luò) 閱讀:380 作者:huangqinfen009 欄目:開發(fā)技術(shù)

用字典能有什么好處?

  1. 字典是個大容器,它能夠儲存多個數(shù)據(jù)

  2. 用字典存儲的數(shù)據(jù)具有一一對應(yīng)的關(guān)系(使用key來標(biāo)識value)

  3. 字典中一對鍵值對(key-value)叫做字典中的一個元素,也叫一個條目,只要是對象就可以,不限制類型

  4. 字典是無序的

  5. 字典中的key是唯一的,一個key只能對應(yīng)一個value,一個value可以對應(yīng)多個key


創(chuàng)建字典對象:

1.便利構(gòu)造器(+號方法):

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"qinfen", @"name", @20, @"height", @12, @"age", nil];

dictionaryWithObjectsAndKeys:元素與元素之間用逗號分隔, nil 作為字典結(jié)束的標(biāo)志

2.初始化方法(-號方法):

nitWithObjectsAndKeys:@"qinfen", @"name", @20, @"height", @12, @"age", nil];

initWithObjectsAndKeys:元素與元素之間用逗號分隔, nil 作為字典結(jié)束的標(biāo)志

輸出字典時用大括號括著元素顯示,如: {
    age = 12;
    height = 20;
    name = qinfen;
}


獲取字典元素個數(shù)

count方法

NSLog(@"%lu", [dic1 count]);


獲取所有的key

allkeys方法

NSArray *key = [dic allKeys];
NSLog(@"%@", key);

輸出顯示是每個key


根據(jù)key獲取對應(yīng)的value

objectForKey:方法

NSString *value = [dic objectForKey:@"name"];
NSLog(@"%@", value);

輸出顯示的是@"name" 這個key對應(yīng)的值的內(nèi)容


字典快速遍歷:

快速遍歷對于數(shù)組來說,遍歷得到的是數(shù)組中的每一個元素

而對于字典來說,遍歷字典得到的是每個key,不是value,也不是key和value,但然后可以通過key獲取value

for (NSString *key in dic) {
     //檢索到key之后,通過objectForKey:獲取對應(yīng)的value
     NSLog(@"%@", [dic objectForKey:key]);  
}

以上是字典中常用的方法


可變字典NSMutableDictionary

可變字典比字典多了增加,刪除,修改的方法


創(chuàng)建可變字典對象

NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoguang", @"guanggun1", @"xiaomeng", @"guanggun2", @"xiashuai", @"guanggun3", nil];

dictionaryWithObjectsAndKeys:方法


刪除元素

[dic removeObjectForKey:@"guanggun1"];

removeObjectForKey:方法,通過查找key,將key和key所對應(yīng)的value一起刪除,即刪除了一對鍵值對


添加元素

[dic setObject:@"chengjie" forKey:@"guanggun1"];

setObject: value元素 forKey: key元素 方法


修改元素

[dic setObject:@"xiaocui" forKey:@"guanggun1"]

setObject: value元素 forKey: key元素 方法 工作原理:

先根據(jù)指定的key查找字典中是否存在相同的key,(查找字典中的是否存在指定的key) 如果存在,則修改key對應(yīng)的value,如果不存在,在字典中添加一個元素,key-value鍵值對


集合


創(chuàng)建集合對象

便利構(gòu)造器

NSSet *set1 = [NSSet setWithObjects:@"1", @"2", @"3", @"4", @"5", nil];

setWithObjects:方法

初始化方法

NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"1", @"2", @"3", @"4", @"5", nil];

initWithObjects:方法


獲取集合元素個數(shù)

count方法

NSLog(@"%lu", [set2 count]);


獲取集合中的某個元素

NSString *str1 = [set2 anyObject];

anyObject方法


判斷集合中是否包含某個元素

BOOL isExist = [set2 containsObject:@"3"];

containsObject:方法  參數(shù)為要查找得元素,返回值為布爾值


可變集合


添加元素

[set3 addObject:@"6"];

addObject:方法


移除元素

[set3 removeObject:@"5"];

removeObject:方法

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI