`

【Object-c】常用数组处理

    博客分类:
  • IOS
阅读更多
//--------------------不可变数组
//1.数组的创建
NSString *s1 = @"zhangsan";
NSString *s2 = @"lisi";
NSString *s3 = @"wangwu";
//(1)
NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil];
NSLog(@"%@",array1); //等价于 array1.descripton
//(2)使用类方法创建
NSArray *array2 = [NSArray arrayWithObjects:s1,s2,s3, nil];
//(3)创建一个数组对象,同时往里面存入一元素
NSArray *array3 = [NSArray arrayWithObject:s1];
//(4)创建一个数组,此数组中的元素来自array1
NSArray *array4 = [NSArray arrayWithArray:array1];
NSLog(@"array4 = %@",array4);
//2.通过下标取元素
NSString *str1 = [array4 objectAtIndex:0];
//3.数组元素的个数
NSUInteger count = [array4 count]; //等价于:array4.count;
//4.判断数组中的是否包含某个元素
BOOL isContains = [array4 containsObject:@"zhangsan"];
NSLog(@"isContains:%d",isContains);
//5.查找某一个对象在数组中的下标位置
NSUInteger index = [array4 indexOfObject:@"wangwu"];
if (index == NSNotFound) {
NSLog(@"Not find elemnts");
} else {
NSLog(@"index = %ld",index);
}
//6.链接数组中的字符串(前提:数组中都是字符串)
NSString *joinString = [array4 componentsJoinedByString:@","];
NSLog(@"joinString = %@",joinString);
//7.访问数组最后一个元素
NSString *lastObj = [array4 lastObject]; //array4.lastObject
NSLog(@"lsatObj = %@",lastObj);
//8.再原路的数组后面添加一个元素
NSArray *array5 = [array4 arrayByAddingObject:@"zhaolia"];
NSLog(@"array5 = %@",array5);
//取对应下标元素
int idx=4;
if (idx <array5.count) {
NSString *s = [array5 objectAtIndex:idx];
NSLog(@"s = %@",s);
}
//--------------数组的遍历
//1.普通遍历
for (int i=0; i<array5.count; i++) {
NSString *str = [array5 objectAtIndex:i];
NSLog(@"%@",str);
}
//快速遍历
for (NSString *s in array5) {
NSLog(@"%@",s);
}
//4.4之后的优化
//1.创建一个素组
NSArray *array7 = @[s1,s2,s3]; //等价于:NSArray *array7 = [NSArray arrayWithObjects:s1,s2,s3,nil];
NSLog(@"array7 = %@",array7);
NSString *str = array7[0];
NSLog(@"array[7] = %@",str);
//------------------可变数组
//初始化,设定元素个数为5,可以更改的。(继承自NSArray)
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:5];
//想数组中添加一个元素
[mutableArray addObject:@"aaa"];
//向数组中指定下标插入元素
[mutableArray insertObject:@"ccc" atIndex:0];
NSLog(@"%@",mutableArray); //原来位置元素后移
//移除最后一个元素
[mutableArray removeLastObject];
NSLog(@"移除最后元素后:%@",mutableArray);
//移除指定元素
[mutableArray removeObject:@"aaa"];
//移除指定下标元素
[mutableArray removeObjectAtIndex:0];
//向数组中添加数组
[mutableArray addObjectsFromArray:array1];
//1.创建可变数组
NSString *t1 = @"zhangsan ";
NSString *t2 = @"lisi";
NSString *t3 = @"wangwu ";
// NSMutableArray *mArray1 = @[s1,s2,s3];//wrong.这里创建了一个不可变数组
NSMutableArray *mArray1 = [[NSMutableArray alloc] initWithObjects:s1,s2,s3, nil];
//创建数组时,开辟3个空间用于存储元素,存储超过容量,数组自动增大空间
NSMutableArray *mArray2 = [[NSMutableArray alloc] initWithCapacity:3];
NSMutableArray *mArray3 = [NSMutableArray arrayWithCapacity:3];
//2.添加元素
[mArray2 addObject:t1];
[mArray2 addObject:t2];
[mArray2 addObject:t3];
NSLog(@"mArray2= %@",mArray2);
//将mArray2 中元素添加到mArray3中
// [mArray3 addObjectsFromArray:mArray2];
//将mArray2作为二维数字添加
[mArray3 addObject:mArray2];
NSLog(@"mArray3 = %@",mArray3);
//3.插入元素
[mArray2 insertObject:@"Jack" atIndex:0];
NSLog(@"mArray2 = %@",mArray2);
//4.替换元素
[mArray2 replaceObjectAtIndex:0 withObject:@"John"];
NSLog(@"替换:%@",mArray2);
//5.互换两个元素的位置
[mArray2 exchangeObjectAtIndex:3 withObjectAtIndex:0];
NSLog(@"mArray2 = %@",mArray2);
//6.删除元素
//6.1根据下标删除
[mArray2 removeObjectAtIndex:2];
NSLog(@"mArray2 = %@",mArray2);
//6.2删除最后一个元素
[mArray2 removeLastObject];
NSLog(@"mArray2 = %@",mArray2);
//6.3删除指定的对象
//[mArray2 removeObject:@"zhangsan"];
//6.4删除所有元素
[mArray2 removeAllObjects];
NSLog(@"mArray2 = %@",mArray2);

 

分享到:
评论

相关推荐

    Object-c字符串数组字典

    在Objective-C语言中,字符串、数组、字典以及集合是常用的数据结构类型。这些类型分为可变和不可变两种,它们分别对应不同场景下的需求。在Objective-C中,字符串被封装在NSString类中,数组由NSArray和...

    Objective-C数组操作总结

    数组是编程中最常用的数据结构之一,用于存储有序集合。Objective-C提供了两个数组类:NSArray和NSMutableArray。NSArray用于创建不可变数组,而NSMutableArray则提供了修改数组内容的方法。以下是Objective-C中数组...

    Object-C语言教程&案例.docx

    Object-C是一种面向对象的编程语言,它在C语言的基础上进行了扩展,支持面向对象的特性,如类、对象、继承等。Object-C最初由Stepstone公司开发,并在苹果公司推出的macOS和iOS系统中得到广泛应用。它是开发苹果平台...

    Object-C的教程.txt

    数组与字典:在Object-C中,数组是用于存储有序元素集合的容器,使用NSArray表示不可变数组,NSMutableArray表示可变数组。字典是一种键值对的集合,用于存储映射关系,使用NSDictionary表示不可变字典,...

    Object-c基础教程例程

    Objective-C(Object-c)是Apple公司为Mac OS X和iOS操作系统开发的一种面向对象的编程语言,它是C语言的超集,融入了Smalltalk的关键特性。本教程旨在为初学者提供一个全面的Objective-C入门指导,涵盖了从基本语法...

    学习 Object-C入门教程

    标题《学习 Object-C入门教程》中所涉及的知识点涵盖了Objective-C语言的基础入门,以及如何使用该语言开发iOS应用程序。Objective-C 是一种面向对象的编程语言,它被广泛用于苹果公司的iOS和macOS操作系统的应用...

    iOS企业培训视频Object-C基础等教程 就业班全套课程 从基础到就业不是梦

    ### iOS企业培训视频Object-C基础等教程就业班全套课程知识点概览 #### 一、基础知识篇 ##### 1.1 iOS开发概述 - **iOS系统介绍**:了解iOS操作系统的特性和版本发展历史。 - **iOS开发环境搭建**:安装Xcode集成...

    Object-C学习大纲.pdf

    ### Object-C 学习大纲详解 #### 一、Object-C 的历史与发展 - **起源**:Object-C 语言起源于20世纪80年代,由 Brad Cox 发明。 - **发展**:它是在 C 语言的基础上增加了面向对象的特性而形成的一种编程语言。 -...

    Object-C冒泡排序的案例

    在Objective-C中,数组是一种常用的数据结构,用于存储相同类型的多个元素。 - **声明与初始化**:在示例代码中,数组通过以下方式声明和初始化: ```objective-c int array[] = {5, 1, 4, 2, 8, 3, 7, 6}; ``` ...

    Object-C(中文版)

    ### Object-C(中文版) #### 开始吧 **Objective-C**是一种面向对象的编程语言,它是C语言的一种扩展。此语言被广泛应用于Mac OS X和GNUstep等遵循OpenStep标准的系统中。Objective-C能够在gcc支持的操作系统上进行...

    object-c insert

    在Objective-C中,NSArray和NSMutableArray是两种常用的数组类型。NSArray是不可变的,一旦创建就不能修改;而NSMutableArray则是可变的,支持添加、删除和插入元素。对于NSMutableArray,可以使用`insertObject:at...

    image与字节数组byte的互转

    本文将详细探讨如何在Java、Python和C#这三种常用编程语言中实现图像(Image)与字节数组(byte[])之间的相互转换。 **Java中的转换** 1. **Image转byte[]** 在Java中,我们可以使用`FileInputStream`读取图片...

    oc-数组倒叙

    在Objective-C(简称OC)中,数组是一种常用的数据结构,用于存储多个有序的元素。当你需要将数组中的元素顺序反转,即实现数组的倒序,可以采用多种方法。本篇文章将详细讲解如何在OC中实现数组倒序的操作。 首先...

    iphone开发比较实用,object-c注意事项,能提高不少

    它们用于异步编程,如GCD(Grand Central Dispatch)或处理数组。 6. **内存管理**:Objective-C曾经使用MRR(Manual Reference Counting),现在大部分情况使用ARC(Automatic Reference Counting)。理解引用计数...

    OC-NSArray数组的使用Demol

    总之,NSArray是Objective-C中处理有序对象集合的基础工具,其不可变的特性保证了数据的稳定性,适合存储静态数据。而NSMutableArray则提供了更多动态操作,适应于需要频繁修改数据的场景。理解并熟练运用NSArray的...

    Data.Clustering.in.C.Plus.Plus.An.Object-Oriented.pdf

    - 如何在C++中实现数据结构来存储和处理数据,这可能包括数组、向量、列表、集合等。 - 聚类算法的基本原理和常见算法,例如K-means、层次聚类、DBSCAN、谱聚类等。 - 如何在C++中实现这些聚类算法,以及如何优化...

    Object-C构建一个简单的待办事项(Todo)应.rar

    在iOS或Mac应用开发中,Objective-C是一种常用的编程语言,用于构建各种类型的应用,包括待办事项(Todo)应用。本教程将引导你通过几个关键步骤来创建一个基础的Todo应用,让你熟悉Objective-C和iOS/Mac开发环境。 1...

    Data-Object-Array:Data-Object-Array 的只读发布历史

    描述Data::Object::Array 提供了操作 Perl 5 数组引用的常用方法。也可以看看数据::对象::通用 作者阿尔纽柯克 anewkirk@ana.io 版权和许可本软件版权 (c) 2014 归 Al Newkirk 所有。 这是免费软件; 您可以根据与 ...

    IOS开发系列—Objective-C之Foundation框架 - KenshinCui - 博客园.pdf

    Foundation框架作为整个框架的基础,与用户界面无关,主要包含了一系列常用的数据类型和类,例如字符串、数组、字典等。UIKit则专注于基础UI组件,是iOS应用开发中不可或缺的一部分。 #### 常用结构体 Foundation...

    - C++ and Object-Oriented 科学计算

    1. **C++语言基础**:C++是C语言的扩展,引入了类、对象、封装、继承和多态等面向对象编程概念。理解这些基础是掌握C++科学计算的前提,包括理解指针、内存管理、运算符重载和模板等。 2. **面向对象编程(OOP)**...

Global site tag (gtag.js) - Google Analytics