本文主要是介绍OC中数组、字典、集合常用方法的运用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/* ====================== 一 NSArray========================
1.创建对象
1.1初始化方法(2) //一般程序有问题先检查初始化
1.2类方法
1.3字面量方法
2.数组查找
2.1通过下标访问对象[ .[i]]
1 2.2通过对象访问下标 objectAtIndex
2 3.判断数组中是否包含某个制定的对象
4.NSString和NSArray之间的转换(以&隔开)
4.1 NSString转化为NSArray com
4.2 NSArray转化为NSString com
//练习 截取网址http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg
====================== 二 NSMuableArray ========================
1.创建
1.1
1.2
2.添加元素 插入元素 addObject insertObject
3.删除元素 元素 下标 最后一个 全部 removeObject AtIndex Last All
4.替换特定位置元素 relaceObjextAtIndex withObject
5.交换两个指定位置的对象
======================= 三 NSDictionary ==========================
1.创建
1.1初始化
1.1.1一对一对输入 initWithObjectsAndKeys
1.1.2用两个数组 initWithObjects forKeys
1.2类方法 dictionaryWith...
1.3字面量方法 keys:objects
2.查找
2.1根据key查找对象 [ objectForkey]
2.2根据下标 .[key]
3.获取字典的长度
3.1 [] count
3.2 . .count
======================== 四 NSMuableDictionary ======================
1.创建对象
1.1
1.2
1.3
2.添加 修改键值对
2.1 add
2.2 set
3.修改键值对(三种情况) setObject forKey
4.删除 removeObjectForKey removeAll
setValue和setObject
========================= 五 NSset===============
1.创建setWithObjects
3 2.取出一个对象
3.获取元素个数 .count
4.判断是否在集合中 containsObject
=========================== 六 NSMutableSet=========
1.创建 setWithObjects
2.添加 addObject
3.删除 removeObject
*/
/**
一:
* NSArray () 不可变的数组
*/
/**
1创建对(3)
*/
//初始化 先检查初始化
//1.1
NSArray *array1 = [[NSArray alloc] initWithObjects:@10, @"娜娜", @"huayu", @"xiaoq", @"afu", nil];
NSArray *array2 = [[NSArray alloc] initWithArray:array1];
//1.2
NSArray *array3 = [NSArray arrayWithObjects:@"a", @"b", @"c", @"d", nil];
//1.3
NSArray *array4 = @[@"炸天", @"b", @10];
/**
* 2.数组查找
*/
//2.1通过下标访问对象
//2.1.1
// NSLog(@"%@", array1);
// NSLog(@"%@", array1[1]); //想打印汉字需要单独打印一个数组元素
//2.1.2
// NSLog(@"%@", [array1 objectAtIndex:2]);
//2.2通过对象访问下标
NSString *str2 = @"afu";
NSUInteger index = [array1 indexOfObject:@"afu"];
// NSLog(@"index = %lu", index);
/**
* 3.判断数组中是否包含某个制定的对象
*/
BOOL isHave = [array4 containsObject:@"炸天"];
// NSLog(@"%d", isHave);
/**
* 4.NSString和NSArray之间的转换
*/
//4.1-> components Separated / Joined ByString
NSString *string1 = @"孙超&孟令旭&成汉";
NSArray *strArray = [string1 componentsSeparatedByString:@"&"];
for (int i = 0; i < 3; i++) {
// NSLog(@"%@", strArray[i]);
}
//4.2<-
NSArray *array5 = @[@"雷坤", @"于艳萍", @"引号"];
NSString *str1 = [array5 componentsJoinedByString:@"&"];
// NSLog(@"%@", str1);
//[string1 componentsSeparatedByCharactersInSet:(nonnull NSCharacterSet *)]
//练习 截取网址http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg
NSString *strlong = @"http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg";
NSArray *websiteArray = [strlong componentsSeparatedByString:@"&"];
/**
* 二
NSMutableArray ()
*/
/**
1.创建对象(2)
2.添加元素, 插入元素
3.删除元素
4.替换特定位置元素
5.交换两个指定位置的对象
*/
//1.2
// NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"little seven", @"ruanjian", @"1202", nil];
// //2.1添加 add
// [mArray addObject:@1994];
// NSLog(@"%@", mArray);
// //2.2插入 insert
// [mArray insertObject:@"ncepu" atIndex:1];
// NSLog(@"%@", mArray);
// //3.删除
// //3.1按元素删除
// [mArray removeObject:@"little seven"];
// //3.2按下标删除
// [mArray removeObjectAtIndex:1];
// //3.3删除最后一个
// [mArray removeLastObject];
// //3.4删除全部
// //[mArray removeAllObjects];
// //4.替换 repalce
// [mArray replaceObjectAtIndex:0 withObject:@"eyuxin"];
// NSLog(@"%@", mArray);
// //5.交换 exchange
// [mArray exchangeObjectAtIndex:0 withObjectAtIndex:1];
// NSLog(@"%@", mArray);
/**
* 三 字典 dictionary 字典是用{}显示
存放键值对类型的数据 name : zhang (都是对象类型的)
*/ //key object
//3-1 NSDictionary
//1创建对象
//1.1初始化
//1.1.1成对输入
NSDictionary *dict1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhangsan", @"name", @"boy", @"gender" , @18, @"age", nil];
//NSLog(@"dict1 = %@", dict1); //字典按key的大小(首字母)排序 跟录入的顺序无关
//1.1.2两个数组输入
NSDictionary *dict2 = [[NSDictionary alloc] initWithObjects:@[@"zhangsan", @"boy", @18] forKeys:@[@"name", @"gender", @"age"]];
// NSLog(@"dict2 = %@", dict2);// @[] 表示数组
//1.2类方法
NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"liuaoran", @"name", @88, @"age", @"nan", @"gender", nil];
//NSLog(@"%@", dict3);
//1.3字面量方法 //先写keys
NSDictionary *dict4 = @{
@"name" : @"gaojie",
@"gender" : @"boy",
@"age" : @28,
@"hobby" : @"nana"
};
// NSLog(@"%@", dict4);
//2查找 [@"key"]
//2.1根据key查找object
NSString * str = [dict4 objectForKey:@"name"];//id 就是任意的对象都可以接收
// NSLog(@"%@", str);
//2.2下标法
// NSLog(@"%@", dict4[@"name"]);
//3获取字典的长度 count
//3.1[ count]
NSInteger length = [dict4 count];
//3.2 .方法
length = dict4.count;//count是对象 可以用.方法访问
/**
* NSMutableDiction 可变的字典
*/
//1.创建对象
//2.添加 修改键值对
//3.删除
//1.1
// NSMutableDictionary *mDictionary = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"eyuxin", @"name", @"man", @"gender", @18, @"age", nil];
// //1.2
// NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"eyuxin", @"name", @"man", @"gender", @18, @"age", nil];
// //1.3
// NSMutableDictionary *mDictionary2 = [NSMutableDictionary dictionaryWithDictionary:@{
// @"name" : @"baoyue",
// @"age" : @24
// }];
// NSLog(@"%@", mDictionary);
// //2.1添加
// //2.1.1 add
// [mDictionary addEntriesFromDictionary:@{@"hobby":@"haoyan"}];
// NSLog(@"%@", mDictionary);
// //2.1.2 set
// [mDictionary setObject:@"5xing" forKey:@"adress"]; //都不存在才能添加 不然就修改了
// //2.2修改 set
// [mDictionary setObject:@"zhangming" forKey:@"name"];
// NSLog(@"%@", mDictionary);
// [mDictionary setObject:@"zhangming" forKey:@"myname"];
// NSLog(@"%@", mDictionary);
// [mDictionary setObject:@"5xing" forKey:@"adress"];
// NSLog(@"%@", mDictionary);
// //3删除 remove
// [mDictionary removeObjectForKey:@"adress"];
// NSLog(@"%@", mDictionary);
//removeAll 全删
/* setValue和setObject
setValue: forKey: 的key参数类型必须是NSString *
setObject: forKey: 的key参数类型可以是任意类型的对象(id);
setValue:forKey:是NSObject对象的方法
setObject:是NSMuableDictionary特有的方法
*/
/**
* 集合 NSSet
*/ //元素不能重复 (查重用的)
//创建
NSSet *set = [NSSet setWithObjects:@"by", @"gt", @"cq", @"djh", nil];
// NSLog(@"%@", set);
//取出一个元素(任意取)
NSString *s = [set anyObject];
// NSLog(@"%@", s);
//取出所有元素
NSArray *setArray = [set allObjects];
// NSLog(@"%@", setArray);
//获取集合中元素个数count
// NSLog(@"%lu", set.count);
//判断对象是否在集合中
BOOL isHaveCq = [set containsObject:@"cq"];
//可变的集合 NSMutableSet
//mutableSet.1创建对象
NSMutableSet *mSet = [NSMutableSet setWithObjects:@"zhangming", @"wangzhi", nil];
//mutableSet.2添加
[mSet addObject:@"zhaoyi"];
//mutableSet.3删除
[mSet removeObject:@"zhaoyi"];
这篇关于OC中数组、字典、集合常用方法的运用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!