Objective-C集合初识

NSArray 有序的 自然顺序

NSSet 无序的

NSSet 中不能存储重复的数据,可以用它来去除重复的数据

1.创建集合

  1.1创建不可变集合

    

1     NSSet * set = [[NSSet alloc] initWithObjects:@"one",@"two",@"three", nil];
2     NSLog(@"%@",set);
3
4     NSSet * set1 = [[NSSet alloc] initWithObjects:@"one",@"two",@"one",@"three", nil];
5     NSLog(@"%@",set1);

  1.2创建可变集合

1         NSMutableSet * muset = [[NSMutableSet alloc] initWithObjects:@"one",@"two", nil];
2
3         NSLog(@"%@",muset);

2.获取元素个数

1 NSUInteger count = [set1 count]; 2 NSLog(@"%lu",count);

3.判断是否包含对象

1     BOOL isContain = [set1 containsObject:@"T"];
2     if (isContain) {
3         NSLog(@"包含");
4     } else {
5         NSLog(@"不包含");
6     }

- (BOOL)containsObject:(ObjectType)anObject;

4.数组转换为集合

1     NSArray * arr = @[@"one",@"two",@"three",@"one"];
2     NSSet * set2 =[NSSet setWithArray:arr];
3     NSLog(@"set2 %@",set2);

5. 可变数组的增删

  5.1 添加

1 [muset addObject:@"three"]; 2 NSLog(@"%@",muset);

  5.2 删除

1 [muset removeObject:@"one"]; 2 NSLog(@"%@",muset);

    删除全部

1 [muset removeAllObjects]; 2 NSLog(@"%@",muset);

时间: 2024-10-24 05:32:14

Objective-C集合初识的相关文章

Linq 学习(1) 概述

本篇简单回顾C#语言集合操作的变化,通过与Linq对等的面向对象的语法来认识Linq.Linq是Language Integrated Query, 初识Linq感觉跟SQL Server的Tsql很像,可以进行语言必备的逻辑操作,也可以实现对集合的直接查询.Net1.X时代C#不支持泛型,集合用元素只能为object类型的ArrayList等.添加.取出元素都与Object类型进行强制类型转换,如果是值类型要进行装箱操作,取出元素时进行拆箱操作,影响效率,编译时不进行类型检查,类型不匹配运行时

Objective—C语言的新魅力——Nullability、泛型集合与类型延拓

Objective-C语言的新魅力 一.引言 在Xcode7中,iOS9的SDK已经全面兼容了Objective-C的一些新特性和新功能.这些功能都只作用于编译期,对程序的运行并没有影响,因此,它可以很好的向下进行兼容,无缝的衔接低版本的iOS系统,那么这些特性有什么样的用处呢,作为开发者,我保证你一定会爱上他们,如果你可以将这些新特性都应用于你的开发,你的开发效率和代码质量,相比之前,会有一个很大的提升. 二.Nullability检测的支持 在swift语言中,通过!和?可以将对象声明成Op

python之集合、深浅copy、文件操作、函数初识

本节内容:集合.深浅copy.文件操作.函数初识 1.小知识点补充 2.编码二 3.集合 4.深浅copy 5.文件操作 6.函数的初识 1.小知识点补充                                                                                           1.1 小数据池====str.int 小数据池存在的意义就是节省内存 节省内存,位多个变量开辟一个共享空间(str和int) int:-5--256 int===

day-3 小知识点补充 编码 集合 文件及函数初识

1. 小知识点的补充 ==数值比较 is比较两边的内存地址 id获取内存地址 小数据池str int,公用一个内存,目的节省内存空间. 要求:A. int范围是-5到256,指向一个地址空间 B. str: 1.不能含有特殊字符 2.单个元素乘以数字不能超过21 2. 编码 字符:看到内容的最小单位.比如: abc:a一个字符 中国:中 Ascii码:1个字节,字母,数字,特殊字符 Unicode:也称万国码,最开始2个字节表示一个字符,后升级到4个字节表示一个字节 Utf-8:最后用8位表示一

集合、深浅拷贝、文件操作(读、写、追加)函数初识(参数)

小数据池 #int ==比较数值 is 比较内存地址 id 测试内存地址 #str 不能含有特俗字符 单个元素*数字,不能超过21 i1 = 'a'*20 i = 'a'*20 id一样 i1 = 'a'*21 i = 'a'*21 id不一样 编码 ascii   英文的数字,字母,特殊字符 字节 8位表示一个字节 字符 内容的最小组成单位 abc  a一个字符 中国 中  一个字符 unicode :万国码 期初 两个字节,表示一个字符2**16不够用 升级 四个字节,表示一个字符2**32

初识Java集合框架(Iterator、Collection、Map)

1. Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 注意: 既有接口也有类,图中画实线的是类,画虚线的是接口 使用之前须要到导入java.util包 List和Set是Collection的子接口,ArrayList和LinkedList是List的两个实现类,HashSet和TreeSet是Set的两个实现类 重点:ArrayList.LinkedList和HashSet Map接口对应的集合是以K-V键值对的方式存储数据的,不同于Collection

初识Python(5)__Python映射和集合

映射类型:字典 字典:可以快速查到某个特定的词语(键),从而找到它的定义(值).(没有顺序)键和值之间用冒号(:)隔开,项之间用逗号(,)隔开,字典由{}括起来 >>> dict1 = {} #空字典 >>> dict2 = {'name': 'earth', 'port': 80} #用{}创建 >>> dict1, dict2 ({}, {'port': 80, 'name': 'earth'}) >>> fdict = dict

java初识集合(list,set,map)

java的集合有三类:list,set,map.list和set继承了collection接口.区别(list可以添加重复对象,且按照索引位置排序:set没有这两种特点). map是通过key操作里面的value,操作的是成对的对象.put放入对象,get取出对象. 另外:colletion没有随机访问的get()方法,因为collection还包括set,而set有自己的内部顺序.所以,要检查collection元素,必须使用iterator对象. 1.list中有ArrayList(类似数组

初识集合和泛型

package com.oracle.Test; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* * 问题: 你们怎么理解集合这个词. * 答: 通常指容器.用来装载n个数据. * * 问题: 集合中能放的元素类型 * 答: Java设计人员.设计Java中的集合时.是希望这个集合可以放下所有类型的数据. * Java中有一个类是所有类的父类.Object.按照继承和多态