Foundation框架-集合

一.基本概念

OC集合类包括NSArray,NSSet,NSDictionary都是以面向对象的方式操作数组,而且OC数组不像C语言中的数组只能存放同一种数据类型,它可以存放任意类型的对象,但是不能存放非OC对象类型如基本数据类型int,struct,enum等。

二.数组

1、NSArray,不可变数组。

2、可以存放多个对象。

3、实例化的时候以nil表示结束。

4、通过下标索引对象。

5、NSArray无法添加、删除、修改元素。  

 1 /*
 2      1.NSArray的创建
 3      */
 4     NSArray *array2 = [NSArray arrayWithObject:@"jack"];
 5
 6     // nil是数组元素结束的标记
 7     NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];
 8     // [array2 count];
 9
10     //NSArray *array4 = [NSArray arrayWithObjects:@"jack", @"rose", @"4324324", nil];
11
12     // 快速创建一个NSArray对象
13     NSArray *array4 = @[@"jack", @"rose", @"4324324"];
14
15
16     /*
17      2.NSArray的元素个数
18      */
19     NSLog(@"%ld", array3.count);
20
21
22     /*
23      3.NSArray中元素的访问
24      */
25     NSLog(@"%@", [array3 objectAtIndex:1]);
26
27     //array3[1];
28     NSLog(@"%@", array3[0]);

三.可变数组

1、NSMutableArray可变数组,是NSArray的子类

2、相比NSArray增加了添加、删除、修改功能 

 1 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
 2
 3     // 添加元素
 4     [array addObject:[[Person alloc] init]];
 5
 6     [array addObject:@"jack"];
 7
 8     // 删除元素
 9     //[array removeAllObjects];
10     // 删除指定的对象
11     // [array removeObject:@"jack"];
12     [array removeObjectAtIndex:0];
13
14     // 错误写法
15     // [array addObject:nil];
16
17
18     NSLog(@"%@", array);
19
20     NSLog(@"%ld", array.count);

四.字典

1、NSDictionary,不可变字典

2、存放多个键值对(key-value)

3、最后以nil结束

4、字典中的对象存储没有顺序,使用key来索引每个对象

5、NSDictionary不可以添加、删除、修改元素

 1    // 通过值/键的方式来创建
 2
 3     NSDictionary *dic4 = [NSDictionary dictionaryWithObjectsAndKeys:
 4
 5                           @"Jack",@"name",
 6
 7                           @"北京",@"address",
 8
 9                           @"[email protected]",@"e-mail",nil];
10
11    // 类似于数组的创建方式
12
13     NSDictionary *dic5 = @{@"name":@"Jack",
14
15                            @"address":@"北京",
16
17                            @"e-mail":@"[email protected]"};
18
19     // 取值:根据相应的Key取出对应的值
20
21     NSString *name = [dic1 objectForKey:@"name"];// 返回 Jack
22
23     // 返回键值对的个数
24
25     NSUInteger count = dic5.count; // 返回 4

五.可变字典

NSMutableDictionary可变字符串,是NSDictionary增加了添加、删除、修改方法

 1    //创建可变字典
 2
 3     NSMutableDictionary *mutableDic = [NSMutableDictionary dictionary];
 4
 5     NSMutableDictionary *mutableDic2 [email protected]{@"name",@"Rose",@"address",@"北京"}; //错误的写法因为右边返回的是不可变的字典
 6
 7     //为可变字典添加元素
 8
 9     [mutableDic setObject:@"Rose" forKey:@"name"];
10
11     [mutableDic setObject:@"北京"forKey:@"address"];
12
13     //移除
14
15     [mutableDic removeAllObjects];
16
17     [mutableDic removeObjectForKey:@"name"];
18
19
20     //打印
21
22     NSLog(@"%@",mutableDic);

六.集合

1、NSSet,不可变集合

2、可以存放多个对象

3、以nil表示结束

4、对象在set中存储是无序的

5、对象在set中存储是无序的

6、不可以添加、删除、修改元素

 1     //创建NSSet集合:
 2
 3     NSSet *set = [NSSet set]; // 一旦创建为空永远为空
 4
 5     NSSet *set2 = [NSSet setWithObjects:@"Jack",@"Rose",@"Jim",nil];
 6
 7     // 随机获取NSSet集合中的元素
 8
 9     NSString *str = [set2 anyObject];
10
11     NSLog(@"%@",str);
时间: 2024-10-11 06:21:45

Foundation框架-集合的相关文章

李洪强iOS开发之Foundation框架—集合

Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组. C语言数组有一个缺点即数组中只能存放同种数据类型的元素. OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. (2)NSArray的创建 (3)NSArray的访问 (4)NSArray的遍历 数组的遍历有以下几种方式: 首先创建一个数组 第

OC Foundation框架—集合

Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组. C语言数组有一个缺点即数组中只能存放同种数据类型的元素. OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. (2)NSArray的创建 (3)NSArray的访问 (4)NSArray的遍历 数组的遍历有以下几种方式: 首先创建一个数组 第

Foundation框架—集合

一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组. C语言数组有一个缺点即数组中只能存放同种数据类型的元素. OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. (2)NSArray的创建 (3)NSArray的访问 (4)NSArray的遍历 数组的遍历有以下几种方式: 首先创建一个数组 第一种方法:使用for循环遍历 B

黑马程序员——Foundation框架的小总结

一.Foundation框架—结构体 一.基本知识 Foundation框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了.即#import<foundation/foundation.h> 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的. 二.常用的结构体介绍及简单使用 常用的结构体: (一)NSRang的基本使用

黑马程序员_Foundation框架—集合

Foundation框架-集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组. C语言数组有一个缺点即数组中只能存放同种数据类型的元素. OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. (2)NSArray的创建 (3)NSArray的访问 (4)NSArray的遍历 数组的遍历有以下几种方式: 首先创建一个数组 第

黑马程序员--oc基础第十篇(foundation框架下、集合)

十 . oc基础(Foundation框架下) 1.下面介绍几种OC对象类型的存储结构:NSArray,NSDictionary,NSSet,以及基本数据类型封装类. NSNumber:*既然这几种数据结构都是用来存放对象类型的那么基本数据类型想要放入其中就要先对他们进行封装.使用NSNumber对基本数据类型进行封装. // // Created by keeganlee on 15/3/2. // Copyright (c) 2015年 keeganlee. All rights reser

OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)

1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于Java中的自动装箱和拆箱,Java中的集合其实也是不允许存入基本类型的,但是我们任然看可以那么操作,就是因为有自动装箱功能,如果你将Eclipse的JDK改成5.0之前的,你看看还能操作吗.. 注:那为什么基本类型不能存入到集合中呢? 原因是在操作集合的时候会操作集合元素中的方法,但是基本类型是没有

Foundation框架介绍

1.Foundation框架介绍 什么是框架? 众多功能\API的集合 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易,在OS X下的Mac操作系统中大约有80个框架,为所有程序开发奠定基础的框架称为Foundation 框架 Foundation框架的作用 Foundation框架是Mac\iOS中其他框架的基础 Foundation框架包含了很多开发中常用的数据类型: 结构体 枚举 类 如何使用Foundation框架 Foundation框架中大约有

OC学习篇之---Foundation框架中的NSDictionary类以及NSMutableDictionary类

今天来看一下Foundation框架中的NSDictionary类,NSMutableDictionary类,这个和Java中的Map类很想,OC中叫字典,Java中叫Map,还有字典是无序的,这个和NSArray不一样,Java中的Map也是无序的,通过hash值去检索元素的. 一.NSDictionary类 [objc] view plain copy // //  main.m //  19_NSDictionary // //  Created by jiangwei on 14-10-