Obj-C中的不可变数组NSArray常用方法
来源:互联网 发布:linux 挂载有数据硬盘 编辑:程序博客网 时间:2024/05/18 08:54
//
// main.m
// nsarray
//
// Created by Mr.Juice on 15/4/3.
// Copyright (c) 2015年 Mr.Juice. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[]) {
//—————————————————不可变数组—————————————————————
/*
Obj-C中的数组在使用时的注意事项:
1.数组中不能存放基本数据类型,只能存放对象
2.数组在使用时不能越界
3.一个数组中存放的对象类型必须一致
*/
//1.数组的创建
NSString *s1 = @"zhangsan";
NSString *s2 = @"lisi";
NSString *s3 = @"王五";
NSArray *array1 = [[NSArrayalloc]initWithObjects:s1,s2,s3,nil];
NSLog(@"array1 = %@",array1);
NSLog(@"s3 = %@",s3);
//2.objectAtIndex: 通过下标取数组
NSString *s4 = [array1 objectAtIndex:2];
NSLog(@"s4 = %@",s4);
//3.count: 数组中元素的个数
NSUInteger i = [array1 count];
NSLog(@"%ld",i);
//4.containObject: 判断数组中是否包含某一个对象
BOOL isContain = [array1 containsObject:@"lisi"];
NSLog(@"%hhd",isContain);
//NSLog(@"%@",isContain);
//5.indexOfObject: 查找一个对象在数组中的下标位置
NSInteger index = [array1 indexOfObject:@"王五"];
if (index == NSNotFound) {
NSLog(@"没有此元素。");
}
else{
NSLog(@"index = %ld",index);
}
//6.componentsJoinedByString:使用连接符,将数组中的字符串拼接
NSString *joinString = [array1 componentsJoinedByString:@"-"];
NSLog(@"%@",joinString);
//componentsSeparatedByString: 字符串的分割
NSArray *separatString = [joinString componentsSeparatedByString:@"-"];
NSLog(@"%@",[separatStringdescription]);
//7.lastObject: 访问数组中的最后一个元素
NSString *laststr = [array1 lastObject];
NSLog(@"%@",laststr);
//8.arrayByAddingObject: 追加元素
NSArray *array2 = [array1 arrayByAddingObject:@"追加元素"];
NSLog(@"%@",array2);
//—————————————————————————数组的遍历—————————————————————————————
//1.普通方法
for (int i=0; i<[array2count]; i++) {
NSString *str2 = [array2 objectAtIndex:i];
NSLog(@"%@",str2);
}
//2.快速便利
for(NSString *str3in array1){
NSLog(@"str3 = %@",str3);
}
//—————————————————————数组的创建、访问的新语法——————————————————————
//1.创建数组
NSArray *array3 = @[s1,s2,s3];
NSLog(@"array3 = %@",array3);
//等价于:
//NSArray *array3 = [NSArray arrayWithObjects:s1,s2,s3,nil];
//2.使用下标访问数组
NSString *str4 = array3[1];
NSLog(@"%@",str4);
return 0;
}
//———————————————————————以下是运行结果———————————————————————————————
2015-04-03 22:46:00.691 nsarray[766:79263] array1 = (
zhangsan,
lisi,
"\U738b\U4e94"
)
2015-04-03 22:46:00.694 nsarray[766:79263] s3 =王五
2015-04-03 22:46:00.694 nsarray[766:79263] s4 =王五
2015-04-03 22:46:00.695 nsarray[766:79263] 3
2015-04-03 22:46:00.695 nsarray[766:79263] 1
2015-04-03 22:46:00.695 nsarray[766:79263] index = 2
2015-04-03 22:46:00.695 nsarray[766:79263] zhangsan-lisi-王五
2015-04-03 22:46:00.696 nsarray[766:79263] (
zhangsan,
lisi,
"\U738b\U4e94"
)
2015-04-03 22:46:00.696 nsarray[766:79263]王五
2015-04-03 22:46:00.696 nsarray[766:79263] (
zhangsan,
lisi,
"\U738b\U4e94",
"\U8ffd\U52a0\U5143\U7d20"
)
2015-04-03 22:46:00.696 nsarray[766:79263] zhangsan
2015-04-03 22:46:00.696 nsarray[766:79263] lisi
2015-04-03 22:46:00.697 nsarray[766:79263]王五
2015-04-03 22:46:00.697 nsarray[766:79263]追加元素
2015-04-03 22:46:00.697 nsarray[766:79263] str3 = zhangsan
2015-04-03 22:46:00.697 nsarray[766:79263] str3 = lisi
2015-04-03 22:46:00.697 nsarray[766:79263] str3 =王五
2015-04-03 22:46:00.697 nsarray[766:79263] array3 = (
zhangsan,
lisi,
"\U738b\U4e94"
)
2015-04-03 22:46:00.697 nsarray[766:79263] lisi
Program ended with exit code: 0
- Obj-C中的不可变数组NSArray常用方法
- 数组的常用方法(不可变:NSArray, 可变:NSMutableArray)
- NSArray 不可变数组-Objective-C
- OC 中的数组方法(不可变数组NSArray 和 可变数组 NSMutableArray)
- Objective-c语言_对不可变数组NSArray
- 不可变数组NSArray和可变数组
- 不可变数组NSArray的复习总结
- OC不可变数组NSArray详解
- Objective-C(十一、不可变数组NSArray,可变数组NSMutableArray)——iOS开发基础
- Object-C 中的可变数组和不可变数组
- 不可变数组NSArray和可变数组NSMutableArray
- 不可变数组(NSArray)与可变数组(NSMutableArray)
- 不可变数组NSArray与可变数组NSMutableArray
- OC中的不可变数组
- Objective-C 不可变数组
- iOS开发学习第十七课——NSArray(不可变数组) 和 NSMutableArray(不可变数组)
- Object-c之不可变字符串 常用方法
- 【C#】不可变字符串String的常用方法
- LeetCode - ZigZag Conversion
- #3 Longest Substring Without Repeating Characters(最长无重复元素子串)
- Android 报Error inflating class ...错误
- jdk与jre的区别
- Aliyun Linux 安装 Apache 步骤
- Obj-C中的不可变数组NSArray常用方法
- 3. 过滤和排序数据
- [第一章]初探JavaScript,命名规则,弹出对话框,以及JavaScript的引用
- [nginx] 对UA为空的请求返回403
- 用GLSL写一个8角花花
- memset函数的正确打开方式
- OpenCV入门之:Mat
- 【hadoop】 3006-hadoop对象序列化排序
- 二叉树中任意两个节点间的最大距离