//字典的遍历
NSDictionary* dict=[NSDictionary dictionaryWithObjectsAndKeys:@"第一个学生",@"first",@"第二个学生",@"second", nil];
NSArray* keys=[dict allKeys];
id key,value;
for (int i=0; i<[keys count]; i++) {
key=[keys objectAtIndex:i];
value=[dict objectForKey:key];
NSLog(@"key:%@ \n value:%@",key,value);
}
//Set集合(NSSet,不可变)NSSet 和 NSMutableSet 是保存无序对象的集合类; NSSet集合跟数组差不多,但Set集合不能存放相同的对象,它是一组单值对象的集合,被存放对进集合中得数据的无序的。
/***********基本用法*************/
NSSet *set1 = [[NSSet alloc] initWithObjects:@"one",@"two",@"three",@"four",@"five",@"six", nil];//第一种构建方式
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"one", nil];
NSSet *set2 = [[NSSet alloc] initWithArray:array]; //第二种构建方式:通过数组构建集合
NSSet *set3 = [[NSSet alloc] initWithSet:set2];//通过已有集合构建集合
//1.集合中对象的个数
NSInteger count = [set3 count];
//2.以数组的形式返回集合中所有的对象
NSArray *allObjects = [set3 allObjects];
//3.返回集合中的任意一个对象
id object = [set3 anyObject];
//4.判断两个集合的元素中有包含的对象,包含返回YES,否则为NO
BOOL isContain = [set2 containsObject:@"2"];
//5.判断两个集合的元素是否 有相等的对象,存在返回YES,否则为NO
BOOL isIntersect = [set2 intersectsSet:set1];
//6.判断两个集合的元素是否完全匹配,匹配返回YES,否则为NO
BOOL isEqual = [set1 isEqualToSet:set2];
//7.集合4是否是集合5的子集合,如果是返回YES,否则为NO
BOOL isSubset = [set2 isSubsetOfSet:set1];
NSLog(@"1=%ld、2=%@、3=%@、4=%d、5=%d、6=%d、7=%d",count,allObjects,object,isContain,isIntersect,isEqual,isSubset);
//可变集合NSMutableSet
NSMutableSet *set11 = [NSMutableSet set];
NSMutableSet *set12 = [NSMutableSet setWithObjects:@"1",@"2",nil];
NSMutableSet *set13 = [NSMutableSet setWithObjects:@"a",@"2",nil];
//8.集合12减去集合13中的元素,集合2最后元素只有1个
[set12 minusSet:set13];
//9.集合2与集合3中元素的交集,集合2最后元素只有1个
[set12 intersectSet:set13];
//10.集合2与集合3中的元素的并集,集合2最后元素只有3个
[set12 unionSet:set13];
//11.将空集合1设置为集合3中的内容
[set11 setSet:set13];
//12.根据数组的内容删除集合中的对象
[set12 addObjectsFromArray:array];
[set12 removeObject:@"1"];
NSLog(@"%@",set12);
数组、字典、set集合介绍
最新推荐文章于 2020-12-17 22:48:43 发布