【黑马程序员】【Foundation框架】数组NSArray和NSMutableArray

本文详细介绍了Objective-C中NSArray和NSMutableArray的基本用法,包括数组的创建、查询、修改等操作,并通过实例展示了如何进行数组元素的添加、删除及遍历。

1、NSArray的用法示例


int main(int argc, const char * argv[]) {
 2     @autoreleasepool {
 3         //OC数组 可以存储不同类型的对象 只能存储对象,基本数据类型是不能存储的
 4         //OC数组 存储的是对象的指针
 5         NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
 6         //数组的长度
 7         int count = (int)array.count;
 8         NSLog(@"count :%d",count);
 9         //判断是否存在某个对象
10         BOOL isHave = [array containsObject:@"3"];
11         if (isHave) {
12             NSLog(@"存在");
13         }else {
14             NSLog(@"不存在");
15         }
16         //输出最后一个对象
17         NSString *str = [array lastObject];
18         NSLog(@"str = %@",str);
19         //输出第一个对象
20         NSString *str2 = [array firstObject];
21         NSLog(@"str2 = %@",str2);
22         //取出数组中指定下标的对象
23         str = [array objectAtIndex:3];
24         NSLog(@"str = %@",str);
25         //也可以通过具体元素来返回所在的下标位置
26         int index = (int)[array indexOfObject:@"1"];
27         NSLog(@"index = %d",index);//如果没有指定的元素,返回的是-1
28         
29         //数组的遍历(1.基本的for循环通过下标逐一取出查看2.for in 快速枚举 3.枚举器(或者叫迭代器))
30         People *p = [[People alloc] init];
31         p.name = @"张三";
32         NSArray *array2 = [[NSArray alloc] initWithObjects:@"a",@"b",p,@"d",@"e", nil];
33         //1.
34         for (int i = 0; i<array.count; i++) {
35             NSString *str1 = [array2 objectAtIndex:i];
36             NSLog(@"%@",str1);
37         }
38         //2.如果需要使用快速枚举,我们需要让数组中元素的类型保持一致
39         for (NSString *st in array) {
40             NSLog(@"duang : %@",st);
41         }
42         //3.略
43     }
44     return 0;
45 }
复制代码


2、NSMutableArray的用法


int main(int argc, const char * argv[]) {
 2     @autoreleasepool {
 3         Person *p1 = [[Person alloc] initWithName:@"张三"];
 4         Person *p2 = [[Person alloc] initWithName:@"李四"];
 5         Person *p3 = [[Person alloc] initWithName:@"王五"];
 6         //3创建一个数组
 7         NSArray *array  = [[NSArray alloc] initWithObjects:p1,p2,p3, nil];
 8         NSMutableArray *arraym = [[NSMutableArray alloc] init];
 9         //1添加元素
10         //添加一个的方法:[array addObject:p1];
11         [arraym addObjectsFromArray:array];
12         //2注意这个方法就是从一个数组中所有元素,所以需要在前面创建一个数组 -->3
13         NSLog(@"%@",arraym);
14         
15         //删除元素
16         //删除指定的元素,当然还有其他的,可以通过xcode代码提示
17         [arraym removeObject:p1];
18         NSLog(@"%@",arraym);
19         
20         //交换元素的位置
21         [arraym exchangeObjectAtIndex:0 withObjectAtIndex:1];
22         NSLog(@"%@",arraym);
23     }
24     return 0;
25 }

内容概要:本文围绕“基于改进秃鹰算法的微电网群经济优化调度”展开研究,利用Matlab代码实现优化算法的仿真与复现。研究重点在于通过改进的秃鹰搜索算法(Bald Eagle Search Algorithm, BESA)解决微电网群在运行过程中的经济调度问题,提升算法的收敛速度与全局寻优能力,以实现对分布式能源、储能系统及负荷的高效协调管理。文中详细阐述了微电网群的系统架构、数学建模过程、目标函数设计(如运行成本最小化、碳排放降低等),并结合智能优化算法进行求解,验证了改进算法相较于传统方法在调度精度效率方面的优越性。同时,研究还探讨了算法在多场景下的适应性,为微电网群的智能化、低碳化运行提供了技术支持与实践参考。; 适合人群:具备一定电力系统基础知识Matlab编程能力的研究生、科研人员及从事微电网、智能优化算法相关工作的工程技术人员。; 使用场景及目标:① 学习并掌握改进秃鹰算法在复杂优化问题中的应用方法;② 实现微电网群经济调度模型的构建与求解;③ 对比不同智能算法在电力系统优化中的性能表现;④ 为科研论文复现、课题研究或工程项目提供算法支持与代码参考。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块分析,重点关注算法改进策略与调度模型的耦合实现方式,同时可尝试在不同参数设置或场景条件下进行仿真实验,以加深对算法性能与调度效果的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值