OC中的集合类NSSet、NSArray、NSDictionary

原创 2015年11月18日 10:12:35
三种集合类来收集cocoa对象(NSObject对象):
NSArray 用于对象有序集合(相当于是数组)
NSSet 用于对象无序集合
NSDictionary用于键值映射
以上三种集合类是不可变的(一旦初始化后,就不能改变)

以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的子类):
NSMutableArray
NSMutableSet
NSMutableDictionary

注:这些集合类只能收集cocoa对象(NSOjbect对象),如果想保存一些原始的C数据(例如,int, float, double, BOOL等),则需要将这些原始的C数据封装成NSNumber类型的,NSNumber对象是cocoa对象,可以被保存在集合类中。

NSDictionary
key-value, key-value, ..... 一系列键值对。
key(键)在整个dictionary是唯一的,通过key可以查询其对应的一个或多个value(值)。
Hash table. Look up objects using a key to get a value.
Immutable. You cannot add or remove objects to it once it’s created.
Keys are objects which must implement.  Keys are usually NSString objects.
- (NSUInteger)hash & - (BOOL)isEqual:(NSObject *)obj
Important methods:
+ dictionaryWithObjectsAndKeys: (id)firstObject, ...;
- (int)count;
- (id)objectForKey:(id)key;
- (NSArray *)allKeys;
- (NSArray *)allValues;
 -----创建字典 -----
    - (id) initWithObjectsAndKeys;

     NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
    NSString *string = [dictionary objectForKey:@"One"];
    NSLog(@"string:%@",string);
    NSLog(@"dictionary:%@",dictionary);
    [dictionary release];

NSMutableDictionary
+ (NSMutableDictionary *)dictionary;
- (void)setObject:(id)anObject forKey:(id)key;
- (void)removeObjectForKey:(id)key;
- (void)removeAllObjects;
- (void)addEntriesFromDictionary:(NSDictionary *)otherDictionary;
 -----创建可变字典 -----   
//创建
    NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
添加字典
    [dictionary setObject:@"One" forKey:@"1"];
    [dictionary setObject:@"Two" forKey:@"2"];
    [dictionary setObject:@"Three" forKey:@"3"];
    [dictionary setObject:@"Four" forKey:@"4"];
//删除指定的字典
    [dictionary removeObjectForKey:@"3"];


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

OC中的集合类-NSSet、NSArray、NSDictionary

三种集合类来收集cocoa对象(NSObject对象): NSArray 用于对象有序集合(相当于是数组) NSSet 用于对象无序集合 NSDictionary用于键值映射 以上三种集合类是...

【Foundation】18-集合类NSArray、NSSet、NSDictionary

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、NSArray 1.1 NSArray是OC数组,是不可变数组。OC数组只能存放OC对象,...

iOS7: 漫谈基础集合类(NSArray, NSSet, NSOrderedSet ,NSHashTable和 NSDictionary)

基础集合类是每一个Mac/iOS应用的基本组成部分。在本文中,我们将对”老类”(NSArray, NSSet)和”新类”(NSMapTable, NSHashTable, NSPointerArray...

iOS7: 漫谈基础集合类(NSArray, NSSet, NSOrderedSet 和 NSDictionary)

基础集合类是每一个Mac/iOS应用的基本组成部分。在本文中,我们将对”老类”(NSArray,NSSet)和”新类”(NSMapTable, NSHashTable,NSPointerArray)进...

OC中的NSArrAY。NSString。NSDictionary 。NSSet小知识点

一。不可变字符串 字符串赋值: 1.NSString *name = @"TOM"; 2.NSString *name = [[NSString alloc] initWithFormat:@"...

iOS开发之OC基础————NSArray、NSSet、NSDictionary

总结一下Foundation框架中常用的三个类:NSArray、NSSet、NSDictionary的常用属性和方法 NSArray、NSSet、NSDictionary只能存储OC对象,不能存储基...

oc中 NSArray NSDictionary NSSet的一些基本用法

int main(int argc, const char * argv[]) {     @autoreleasepool {         // 把字符串放入可...

OC 5 NSArray 数组 NSDictionary 字典 NSSet集

1.oc中常用的容器: 1.NSArray 数组 2.NSDictionary 字典  3.NSSet集 2.NSArray数组:继承自NSObject  是不可变的,用于管理一系...

IOS 中数组、集合、字典的使用(NSArray, NSSet, NSDictionary)

NSArray 用于对象有序集合(数组) NSSet 用于对象无序集合(集合) NSDictionary用于键值映射(字典) 以上三种集合类是不可变的(一旦初始化后,就不能改变) 以下...

Objective-c 语法之集合NSDictionary & NSSet & NSArray

1、不可变词典 NSDictionary 的主要用法 [ NSDictionary dictionaryWithobjec]
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)