ios筆記-NSSet
來源:程序員人生 發布時間:2015-06-05 09:14:44 閱讀次數:2530次
//
// main.m
// NSSet
//
// Created by Passer-by on 15⑶⑵3.
// Copyright (c) 2015年 MAC. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool
{
/*
NSSet和NSArray的對照
1> 共同點
* 都是集合,都能寄存多個OC對象
* 只能寄存OC對象,不能寄存非OC對象類型(基本數據類型:int、char、float等,結構體,枚舉)
* 本身都不可變,都有1個可變的子類
2> 不同點
* NSArray有順序,NSSet沒有順序
*/
NSSet *set1 = [NSSet setWithObjects:@"a", @"b", @"c", @"d", nil];
NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", nil];
NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil];
NSSet *set3 = [NSSet setWithArray:array];
NSLog(@"set1 :%@", set1);
NSLog(@"set2 :%@", set2);
NSLog(@"set3 :%@", set3);
//獲得集合個數
NSLog(@"set1 count :%d", set1.count);
//以數組的情勢獲得集合中的所有對象
NSArray *allObj = [set2 allObjects];
NSLog(@"allObj :%@", allObj);
//獲得任意1對象
NSLog(@"anyObj :%@", [set3 anyObject]);
//是不是包括某個對象
NSLog(@"contains :%d", [set3 containsObject:@"obj2"]);
//是不是包括指定set中的對象
NSLog(@"intersect obj :%d", [set1 intersectsSet:set3]);
//是不是完全匹配
NSLog(@"isEqual :%d", [set2 isEqualToSet:set3]);
//是不是是子集合
NSLog(@"isSubSet :%d", [set3 isSubsetOfSet:set1]);
NSSet *set4 = [NSSet setWithObjects:@"a", @"b", nil];
NSArray *ary = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];
NSSet *set5 = [set4 setByAddingObjectsFromArray:ary];
NSLog(@"addFromArray :%@", set5);
NSMutableSet *mutableSet1 = [NSMutableSet setWithObjects:@"1", @"2", @"3", nil];
NSMutableSet *mutableSet2 = [NSMutableSet setWithObjects:@"a", @"2", @"b", nil];
NSMutableSet *mutableSet3 = [NSMutableSet setWithObjects:@"1", @"c", @"b", nil];
//集合元素相減
[mutableSet1 minusSet:mutableSet2];
NSLog(@"minus :%@", mutableSet1);
//只留下相等元素
[mutableSet1 intersectSet:mutableSet3];
NSLog(@"intersect :%@", mutableSet1);
//合并集合
[mutableSet2 unionSet:mutableSet3];
NSLog(@"union :%@", mutableSet2);
//刪除指定元素
[mutableSet2 removeObject:@"a"];
NSLog(@"removeObj :%@", mutableSet2);
//刪除所有數據
[mutableSet2 removeAllObjects];
NSLog(@"removeAll :%@", mutableSet2);
}
return 0;
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈