NSSet和NSMutableSet

        //NSArray 自然顺序
        //NSSet是无序的
        //注意:这个是最为重要的功能 NSSet中不能够存储重复的数据,可以用它来去除重复的值
        NSString * str1 = @"one";
        NSString * str2 = @"two";
        NSString * str3 = @"three";
        NSSet * set = [[NSSet alloc] initWithObjects:str1,str2,str3,str1, nil];
        NSLog(@"set %@",set);

        //count
        NSLog(@"count %ld",set.count);

       BOOL isContains =  [set containsObject:str1];
        if (isContains)
        {
            NSLog(@"YES");
        }
        else
        {
            NSLog(@"NO");
        }

        //4.遍历

        NSEnumerator * enumerator = [set objectEnumerator];
        NSString * value;
        while (value = [enumerator nextObject]) {
            NSLog(@"value %@",value);
        }
NSString * str1 = @"one";
        NSString * str2 = @"two";

        //1 创建一个可变集合
        NSMutableSet * muSet = [[NSMutableSet alloc] init];

        //2.增加值
        [muSet addObject:str1];
        [muSet addObject:str2];

        NSLog(@"muSet %@",muSet);

        //3.删除
        [muSet removeObject:str1];

        NSLog(@"muSet %@",muSet);

        //4.删除所有
//        [muSet removeAllObjects];

        NSLog(@"muSet %@",muSet);

        //5.遍历
        NSEnumerator * en = [muSet objectEnumerator];
        NSString * value;
        while (value = [en nextObject]) {
            NSLog(@"value %@",value);
        }
时间: 2024-08-13 02:56:11

NSSet和NSMutableSet的相关文章

NSSet和NSMutableSet 确保数据的唯一性--备

NSSet和NSMutableSet是无序的, 但是它保证数据的唯一性.当插入相同的数据时,不会有任何效果.从内部实现来说是hash表,所以可以常数时间内查找一个数据. 1.NSSet的使用 [NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造[NSSet setWithArray:(NSArray *)array];用数组构造[NSSet setWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志.[set cou

[Objective-C] 010_Foundation框架之NSSet与NSMutableSet

在Cocoa Foundation中的NSSet和NSMutableSet ,和NSArray功能性质一样,用于存储对象属于集合.但是NSSet和NSMutableSet是无序的, 保证数据的唯一性,当插入相同的数据时,不会有任何效果. NSSet 初始化及常用操作 #import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIAppli

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

==========android培训.ios培训.java培训.期待与您交流========== 一.NSSet: NSSet NSSet里面存储的元素没有顺序,NSArray中的元素有顺序. NSSet *s = [NSSet set]; // 创建一个空的Set,永远是空,不可变. NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",nil]; NSString *str = [s2 anyObject]; //

NSSet、NSMutableSet

NSSet和NSArray功能性质一样,用于存储对象,属于集合:只能添加cocoa对象,基本数据类型需要装箱. NSSet . NSMutableSet是无序的集合,在内存中存储方式是不连续的,而NSArray是有序集合,在内存中存储位置是连续的. NSSet和我们常用NSArry区别是:在搜索一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash(哈希).比如你要存储元素A,一个hash算法直接就能直接找到A应该存储的位置:同样,当你要访问A时,一个hash过程就能找到A存

NSSet -- 集合&&NSMutableSet -- 可变集合

// // main.m // OC05-task-03 // // Created by Xin the Great on 15-1-25. // Copyright (c) 2015年 Xin the Great. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here.

NSSet、NSMutableSet基本用法

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素

NSSet和NSMutableSet - By吴帮雷

1.NSSet的使用 [NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造 [NSSet setWithArray:(NSArray *)array];用数组构造 [NSSet setWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志. [set count] ; 得到这个结合对象的长度. [set containsObject:...]: 判断这个集合中是否存在传入的对象,返回Bool值. [set object

OC NSSet、NSMutableSet、NSArray、NSMutableArray

不可变长度的Set @interface NSSet : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration> 初始化方法 + (instancetype)set; //声明一个空集 + (instancetype)setWithObject:(id)object; + (instancetype)setWithObjects:(const id [])objects count:(NSUIntege

IOS集合NSSet与NSMutableSet知识点

NSSet在实际应用中与NSArray区别不大,但是如果你希望查找NSArray中的某一个元素,则需要遍历整个数组,效率低下.而NSSet在查找某一特定的元素的时候则是根据hash算法直接找到此元素的位置,效率高. NSSet是一个无序的,管理对个对象的集合类,最大特点是集合中不允许出现重复对象,和数学上的集合含义是一样的.除了无序,不许重复,其他功能和NSArray是一样的;需要注意的是:NSSet,NSArray里面只能添加cocoa对象,如果需要加入基本数据类型(int,float,BOO