`

Objective-C 数组(NSArray)和集合(NSSet)

 
阅读更多

一.NSArray 是数组类。在数组中,必须以nil结束。NSArray数组类上的方法有:

   +arrayWithObjects:(id) firstobj;//声明数组。后面是各个元素 ,以nil结束

   -(unsigned)count;//数组中的元素个数

   -(id) objectAtIndex:(unsigned)index;//指定位置的元素

   -(unsigned) indexofObject:(id) object;//指定数组中的位置

   NsArray *city=[NSArray arrayWithObjects:@"北京",@“上海”,@”湖北“,nil];

   if([city indexofObject:@"杭州"]==NSNotFound){

       NSLog(@”杭州未在其中“);

 

     }

 

二.NSArray是一个静态的数组,不能往数组动态添加元素。你可以使用NSMutableArray来动态管理数组。NSMutableArray是NSArray的子类。NSMutableArray的常用方法中:

+(NSMutableArray *)array;//声明一个数组

 (void)addObject:(id)object;//添加一个元素

 (void)removeObject:(id)object;//从数组中删除指定的元素

 (void) removeAllObjects;//删除所有元素

 (void)insertObject:(id)object atIndex:(unsigned)index;//在指定位置添加新元素

  例如:执行完下面代码后的数组只包含两个元素:”上海“和“湖北”。

    NSmutableArray *city=【【NSMutableArray alloc】init];

    [city addObject:@"北京"];

    [city addObject:@"上海"];

    [city addObject:@"湖北"]; 

    [city  removeObjectAtIndex:1];

  同数组相比,集合是一个无序的;不同元素的集合。数组中的元素可以重复,但是集合不同。在Objective—C上,    NSSet类实现了集合的概念,其方法有:

+setWithObjects:(id) firstobj,...;//声明集合,后面是各个元素,以nil结束

-(unsigned)count;//返回集合的个数

-(BOOL)containsObject:(id)object;//判断指定对象是否包含在集合中

   同数组类似,NSSet本身也是不可修改的集合。NSMutableSet是相应的可修改的集合,其方法有:

   +(NSMutableSet * )set;//声明一个集合

   - (void)addObject:(id)object;//添加一个元素到集合
   -(void)removeObject(id)object;//从集合中删除一个元素

   -(void)removeAllObjects;//删除集合中的所有元素

   -(void)intersectSet:(NSSet *)otherSet;//;两个集合的交集

  //集合-指定集合(即:所有不在既定集合中的元素)

   -(void)minusSet:(NSSet *)otherSet;

 

   

 

 

   

 

 

 

 

分享到:
评论

相关推荐

    从Swift看Objective-C的数组使用1

    本篇文章将探讨Objective-C中的数组,特别是NSArray、NSSet和NSDictionary等集合类的内存布局,并通过对比Swift的改进来阐述如何更安全地处理数组。 首先,Objective-C中的NSMutableArray是一种可变的数组类型,它...

    Objective-C Fundamentals

    Objective-C提供了多种集合类,如数组(NSArray、NSMutableArray)、字典(NSDictionary、NSMutableDictionary)和集合(NSSet、NSMutableSet)。这些集合类允许开发者以不同的方式存储和管理数据集合。 在构建自己...

    OC-NSArray数组的使用Demol

    在Objective-C(简称OC)中,NSArray是一个非常基础且重要的数据结构,用于存储有序的、不可变的对象集合。本教程将深入探讨NSArray的使用方法,包括创建、添加元素、遍历数组、查找元素以及与其他数据结构的交互。 ...

    Object-c字符串数组字典

    在Objective-C中,字符串被封装在NSString类中,数组由NSArray和NSMutableArray类来管理,字典则由NSDictionary和NSMutableDictionary来实现,而集合则由NSSet和NSMutableSet来表示。此外,还提供了快速枚举等便捷的...

    Objective-C语法之NSSet和NSMutableSet - 魏先宇的程序人生 - 博客频道 - CSDN.NET1

    在Objective-C中,NSSet和NSMutableSet是两种非常重要的集合类,它们用于存储不重复的对象。本篇文章将详细探讨这两个类的特性和使用方法。 NSSet是不可变的集合,意味着一旦创建,就不能修改其内容。它提供了一种...

    Objective-C Succinctly.pdf

    - **语言特性**:Objective-C是一种面向对象的编程语言,结合了C语言和Smalltalk的特性,是苹果公司开发iOS和macOS应用的基础语言之一。 - **目标读者**:本书适合初学者以及有一定基础的开发者学习Objective-C语言...

    Lecture 3: Objective-C

    - `NSArray`, `NSDictionary`, `NSSet`:用于集合操作,分别表示数组、字典和集合。 #### 枚举类型 枚举类型用于定义一组命名常量,通常用于表示一组相关的选项或状态。 #### 属性列表 属性列表是一种XML格式,...

    objective-c 2.0 课后习题答案

    Objective-C 2.0 是苹果公司为iOS和Mac OS X操作系统开发的一种面向对象的编程语言,它是C语言的超集,融入了Smalltalk的特性。本资料主要关注的是Objective-C 2.0的课后习题解答,这些习题旨在帮助学习者深入理解...

    Objective-C语法总结(第一版)

    - **Objective-C**: 面向对象编程语言,结合了C语言的基础特性与Smalltalk的对象模型。 - **Cocoa**: Apple提供的应用程序框架集合,包括大量的API,用于Mac OS X和iOS应用开发。 #### 2. 文件扩展名 - **.c**: ...

    Objective-C基础教程

    包括数组(NSArray, NSMutableArray)、字典(NSDictionary, NSMutableDictionary)、集合(NSSet, NSMutableSet)等,它们提供了对对象的容器管理。 9. **Foundation框架** Foundation是Objective-C的基本框架,...

    objective-c_fundamentals

    - **数组**:使用`NSArray`和`NSMutableArray`来存储和操作一系列对象。 - **字典**:使用`NSDictionary`和`NSMutableDictionary`来存储键值对。 - **集合**:使用`NSSet`和`NSMutableSet`来存储不重复的对象集合。 ...

    Objective-C笔试及答案

    - **背景介绍:** Objective-C提供了多种类型的集合,如`NSArray`、`NSMutableArray`、`NSSet`和`NSMutableDictionary`等。 - **知识点解释:** 集合分为可变集合(如`NSMutableArray`, `NSMutableSet`, `...

    NSArray,NSSet,NSDictionary超详细用法说明

    在iOS和Objective-C(OC)开发中,NSArray、NSSet和NSDictionary是Foundation框架中的核心数据结构,它们用于存储和管理对象。这些容器类提供了多种方法来操作和访问存储的数据,是编写应用程序时不可或缺的部分。 ...

    像BOSS 一样过滤 NSObjects 的 NSArrays _Objective-C

    在iOS和macOS开发中,Objective-C是一种广泛使用的编程语言,尤其在Apple的生态系统中。本文将深入探讨如何使用Objective-C来实现一个高效且灵活的过滤机制,特别是针对包含多种自定义NSObject子类的NSArray。标题...

    objective-c的四种遍历方法

    Objective-C 的 fast enumeration 是一种高效的遍历方式,它支持对 NSArray、NSMutableArray、NSSet、NSOrderedSet 和 NSDictionary 的遍历。示例如下: ```objc for (NSString *fruit in array) { NSLog(@"%@",...

    NSArray,NSSet,NSEnumerator,NSDictionary及对应Mutable介绍

    在Objective-C中,集合类是数据结构的一种抽象,用于存储和管理对象。这些类包括NSArray、NSSet、NSEnumerator和NSDictionary,以及它们的可变版本NSMutableArray、NSMutableSet和NSMutableDictionary。这些类提供了...

    collection-后盾网.zip

    在Objective-C中,数组(NSArray)和字典(NSDictionary)是最常用的集合类。NSArray是有序的元素集合,不允许元素的增删改,而NSMutableArray则允许动态修改。字典(NSDictionary)通过键值对(Key-Value)存储数据...

    ObjFW:[Official Mirror]用于Objective-C语言的可移植框架

    例如,它包含字符串(NSString)和数字(NSNumber)对象,以及数组(NSArray)、字典(NSDictionary)和集合(NSSet)等数据结构。此外,ObjFW还支持线程(NSThread)、定时器(NSTimer)和运行循环(NSRunLoop),...

Global site tag (gtag.js) - Google Analytics