集合、可变集合

<pre name="code" class="objc">int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //        4 NSArray -> NSSet
        NSArray * array = @[@"one",@"two",@"three"];
        NSSet * set = [NSSet setWithArray:array];

        NSLog(@"%@",set);
//        5 NSDictionary -> NSArray
        NSDictionary * dic = @{
                               @"name":@"Jack",
                               @"age":@"18",
                               @"ID":@"1001"
                               };
        NSArray * keysArray = [dic allKeys];

        NSArray * valuesArray = [dic allValues];

        //6 字符串转换成数组
          // 创建字符串
        NSString * str = @"I am studying ";
        // 传入字符参数分割字符串
        NSArray * arrStr = [str componentsSeparatedByString:@"am"];
        NSLog(@"arrStr %@",arrStr);
    }
    return 0;
}

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { NSSet * set = [[NSSet alloc] initWithObjects:@"one",@"two",@"three",@"four",@"one", nil]; NSLog(@"%@",set); NSCountedSet// NSSet中不能够存储重复的数据 NSUInteger count = [set
count]; NSLog(@"coutn %lu",count); BOOL isContain = [set containsObject:@"t"]; if (isContain) { NSLog(@"contain"); } else { NSLog(@"not contain"); } } return 0;}


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSMutableSet * set = [[NSMutableSet alloc] initWithObjects:@"one",@"two", nil];
        NSLog(@"%@",set);
        // 增加值
        [set addObject:@"three"];
        NSLog(@"%@",set);
        // 删除值
        [set removeObject:@"two"];
        NSLog(@"%@",set);
        // 删除所有
        [set removeAllObjects];
        NSLog(@"%@",set);

    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 18:32:04

集合、可变集合的相关文章

[Google Guava] 2.1-不可变集合

范例 01 public static final ImmutableSet<String> COLOR_NAMES = ImmutableSet.of( 02 "red", 03 "orange", 04 "yellow", 05 "green", 06 "blue", 07 "purple"); 08 09 class Foo { 10 Set<Bar> ba

可变集合 NSMutableSet

//创建指定元素个数的一个集合对象 NSMutableSet *set = [NSMutableSet setWithCapacity:10]; //添加一个对象到集合 [set addObject:@"adsf"]; NSLog(@"%@", set); //从集合中删除一个对象 [set removeObject:@"adsf"]; NSLog(@"%@", set); //把数组对象添加到集合对象中去 NSArray *

NSSet -- 集合&amp;&amp;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.

Guava学习笔记:guava的不可变集合

Guava学习笔记:guava的不可变集合 不可变集合的意义 不可变对象有很多优点,包括: 当对象被不可信的库调用时,不可变形式是安全的: 不可变对象被多个线程调用时,不存在竞态条件问题 不可变集合不需要考虑变化,因此可以节省时间和空间.所有不可变的集合都比它们的可变形式有更好的内存利用率(分析和测试细节): 不可变对象因为有固定不变,可以作为常量来安全使用. 创建对象的不可变拷贝是一项很好的防御性编程技巧.Guava为所有JDK标准集合类型和Guava新集合类型都提供了简单易用的不可变版本. 

[Guava学习笔记]Collections: 不可变集合, 新集合类型

不可变集合 不接受null值. 创建:ImmutableSet.copyOf(set); ImmutableMap.of(“a”, 1, “b”, 2); public static final ImmutableSet<Color> GOOGLE_COLORS = ImmutableSet.<Color>builder() .addAll(WEBSAFE_COLORS) .add(new Color(0, 191, 255)) .build(); 可以有序(如ImmutableS

集合与可变集合排序(自己使用)

int main(int argc, const char * argv[]) { @autoreleasepool { //字符串进行排序 NSArray *[email protected][@"b",@"a",@"c"]; NSSortDescriptor *ns=[NSSortDescriptor sortDescriptorWithKey:nil ascending:YES]; NSArray *B=[arr sortedArrayUs

在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?

在sql server中建存储过程,如果需要参数是一个可变集合的处理 原存储过程,@objectIds 为可变参数,比如 110,98,99 ALTER PROC [dbo].[Proc_totalScore] @categoryKey int, @objectIds VARCHAR(MAX) AS BEGIN      SELECT c.Name,AVG(e.Score) Score FROM dbo.Sys_com_comment_main m      INNER JOIN dbo.sys

Immutable(不可变)集合

不可变集合,顾名思义就是说集合是不可被修改的.集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变. 为什么要用immutable对象?immutable对象有以下的优点: 1.对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象 2.线程安全的:immutable对象在多线程下安全,没有竞态条件 3.不需要支持可变性, 可以尽量节省空间和时间的开销. 所有的不可变集合实现都比可变集合更加有效的利用内存 (analysis) 4.可以被使用为一个常量,并且期望

Guava学习笔记:Immutable(不可变)集合

不可变集合,顾名思义就是说集合是不可被修改的.集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变. 为什么要用immutable对象?immutable对象有以下的优点: 1.对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象 2.线程安全的:immutable对象在多线程下安全,没有竞态条件 3.不需要支持可变性, 可以尽量节省空间和时间的开销. 所有的不可变集合实现都比可变集合更加有效的利用内存 (analysis) 4.可以被使用为一个常量,并且期望

洗礼灵魂,修炼python(7)--元组,集合,不可变集合

前面已经把列表的基本用法讲解完 接着讲python的几大核心之--元组(tuple) 1.什么是元组? 类似列表,但为不可变对象,之前提到列表是可变对象,所谓可变对象就是支持原处修改,并且在修改前后对应的内存空间里的id依然不变,而不可变对象就是不支持原处修改,得重新赋值才行,但在重新赋值的时候,内存ID已经发生改变. 元组的特征是什么呢?下面会解释! 2.创建元组的两种方式: 注意:元组的特征是()没错,但是光有小括号是不行的 比如创建一个空的元组: 没有问题是吧,创建一个只有一个元素的元组呢