OC中数组的基本操作
来源:互联网 发布:淘宝买家信誉查询工具 编辑:程序博客网 时间:2024/04/30 09:48
在OC中数组是用来存储对象的容器,只能存储对象。
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool {#pragma mark - 不可变数组 //不可变字符串的创立 //初始化方法,以nil为结束标志,并且不可省略 NSArray *initArray1 = [[NSArray alloc] initWithObjects:@"xiaohong", @"xiaohua", @"xiaoming", @"xiaofang", nil]; NSLog(@"initArray1 = %@", initArray1); //便利构造器方法,以nil为结束标志,并且不可省略 NSArray *initArray2 = [NSArray arrayWithObjects:@"xiaohong", @"xiaohua", @"xiaoming", @"xiaofang", nil]; NSLog(@"initArray2 = %@", initArray2); //nil为结束标志 NSArray *testNil = [NSArray arrayWithObjects:@"xiaohong", @"xiaohua", nil, @"xiaoming", @"xiaofang", nil]; NSLog(@"testNil = %@", testNil); //用已有的对象创建 NSString *str1 = @"zhangsan";//对象(也可以是自己定义类的一些内对象) NSString *str2 = @"lishi";//对象 NSArray *initArray3 = [NSArray arrayWithObjects:str1, str2, nil]; NSLog(@"initArray = %@", initArray3); //已有数组初始化 NSArray *initArray4 = [[NSArray alloc] initWithArray:initArray1]; NSLog(@"initArray4 = %@", initArray4); //字面量初始化 NSArray *initArray5 = @[@"xianghong", @"xiaohua", @"xiaoming", @"xiaofang"]; NSLog(@"initArray5 = %@", initArray5); //功能方法 NSArray *testArray = @[@"xiaohong", @"xiaohua", @"xiaoming", @"xiaofang", @"xiaohong", @"xiaohua", @"xiaohong"]; //获取数组长度(存储的个数) NSInteger count = [testArray count]; NSLog(@"count = %ld", count); //下标获取某一个元素 NSString *testStr1 = testArray[0]; NSLog(@"testStr1 = %@", testStr1); //系统方法获取某一个元素 NSString *testStr2 = [testArray objectAtIndex:0]; NSLog(@"testStr2 = %@", testStr2); //元素获取下标 //注意:如果数组中存储了多个相同的元素,返回的是第一个元素的下标 NSInteger index = [testArray indexOfObject:@"xiaohong"]; NSLog(@"index = %ld", index); //在指定范围内获取指定元素的下标 NSRange testRange1 = {1, count - 1}; //如果在指定元素范围里面存储了多个相同的元素,返回的是第一个元素的下标 index = [testArray indexOfObject:@"xiaohua" inRange:testRange1]; NSLog(@"index = %ld", index); //判断数组中是否包含某一个对象 BOOL flag = [testArray containsObject:@"xiaohua"]; NSLog(@"flag = %d", flag); flag = [testArray containsObject:@"laowang"]; NSLog(@"flag = %d", flag); //将数组里面的元素链接成一个新字符串 NSString *newStr = [testArray componentsJoinedByString:@"&&"]; NSLog(@"newStr = %@", newStr); //利用后面的字符串分隔前面的字符串,返回分隔后的数组 NSArray *newArray = [newStr componentsSeparatedByString:@"&&"]; NSLog(@"newArray = %@", newArray); #pragma mark - 可变数组 //可变数组继承不可变数组 //创建 //预留两个空间,返回首地址 NSMutableArray *mInitArray1 = [[NSMutableArray alloc] initWithCapacity:2]; //字面量定义的字符串数组是不可变的,利用mutableCopy拷贝出一份可变的 //可变指的是数组中指向对象的指针指向可变,对象的内容能否改变需要根据对象的属性确定 mInitArray1 = [@[@"shifu", @"dashixiong", @"ershixiong", @"shashidi"] mutableCopy]; NSLog(@"mInitArray1 = %@", mInitArray1); //功能方法 //增加一个对象 [mInitArray1 addObject:@"fuzhu"]; NSLog(@"mInitArray1 = %@", mInitArray1); //增加一个不可变数组 [mInitArray1 addObjectsFromArray:testArray]; NSLog(@"mInitArray1 = %@", mInitArray1); //插入一个元素(插入在下标前)不能插入一个空的对象 [mInitArray1 insertObject:@"guanying" atIndex:0]; NSLog(@"mInitArray1 = %@", mInitArray1); //交换元素的位置 [mInitArray1 exchangeObjectAtIndex:1 withObjectAtIndex:3]; NSLog(@"mInitArray1 = %@", mInitArray1); //替换指定元素 [mInitArray1 replaceObjectAtIndex:2 withObject:@"baigujing"]; NSLog(@"mInitArray1 = %@", mInitArray1); //删除最后一个元素 [mInitArray1 removeLastObject]; NSLog(@"mInitArray1 = %@", mInitArray1); //删除下标指定元素 [mInitArray1 removeObjectAtIndex:2]; NSLog(@"mInitArray1 = %@", mInitArray1); //删除指定(如果数组里面有多个相同的,那么多个相同的一起删除) [mInitArray1 removeObject:@"xiaohua"]; NSLog(@"mInitArray1 = %@", mInitArray1); //删除所有元素 [mInitArray1 removeAllObjects]; NSLog(@"mInitArray1 = %@", mInitArray1); NSLog(@"Hello, World!"); } return 0;}
1 0
- OC中数组的基本操作
- OC中数组操作1
- OC字符串和数组基本操作
- Oc数组的基本使用
- oc- 数组的简单操作
- shell 中数组的基本操作
- javascript中数组的基本操作
- js中数组的基本操作
- 【c#】c#中 数组 的基本操作
- java中数组的基本操作
- 数组的基本操作
- 数组的基本操作
- 数组的基本操作
- 数组的基本操作
- 数组的基本操作
- 数组的基本操作
- 数组的基本操作
- Python中Array的常用操作数组基本操作
- Linux下把项目部署到tomcat
- postgre- 常用基本sql 语句
- 霍夫变换基础知识-- The Hough Transform: Basics
- Android自定义九宫格图案解锁
- 数据结构与算法——提供一个单词,在字典中找到它的兄弟
- OC中数组的基本操作
- Android 源码编译遇到的几个错误
- 霍夫变换的标准形式--The Hough Transform: Normal form
- 什么是PHP
- Java 异常处理
- 注解
- {Unity} Shader初步
- Canny边缘检测器-- The Canny Edge Detector
- writing idiomatic python 读书笔记(5)