/*******
*************
*************
**************
****
****
***/
//
定义三个字符串对象
NSString *s1 = @" 张三 " ;
NSString *s2 = @" 李四 " ;
NSString *s3 = @" 王五 " ;
NSString *s1 = @" 张三 " ;
NSString *s2 = @" 李四 " ;
NSString *s3 = @" 王五 " ;
/*******
****** 数组创建 *
*************
**************
****
****
***/
//
通过
alloc
创建
NSArray *array1 = [[ NSArray alloc ] initWithObjects :s1, s2, s3 , nil ];
// 通过类方法创建
NSArray *array2 = [ NSArray arrayWithObjects :s1, s2, s3, nil ];
// NSLog(@"array1 is %@, array2 is %@",array1, array2);
NSArray *array1 = [[ NSArray alloc ] initWithObjects :s1, s2, s3 , nil ];
// 通过类方法创建
NSArray *array2 = [ NSArray arrayWithObjects :s1, s2, s3, nil ];
// NSLog(@"array1 is %@, array2 is %@",array1, array2);
/*******
*************
*************
**************
****
****
***/
/******** NSArray
的常用方法
******************************/
/*******
*************
*************
**************
****
****
***/
//
获取下标为
0
的对象
NSString *str1 = [array1 objectAtIndex : 0 ];
NSLog ( @"%@" ,str1); // 结果 : 张三
// 获取数组中元素的个数:
NSUInteger count = [array1 count ];
NSLog ( @"%ld" ,count); // 结果 :3
// 判断是否包含某个对象:
BOOL isContain = [array1 containsObject : @" 张三 " ];
NSLog ( @"%d" ,isContain); // 结果 :1
// 对象在数组中的索引位置
NSUInteger index = [array2 indexOfObject : @" 李四 " ];
NSLog ( @"%ld" ,index); // 结果 :1
// 连接数组中的字符串
NSString *str = [array2 componentsJoinedByString : @"," ];
NSLog ( @"%@" ,str); // 结果 : 张三 , 李四 , 王五
// 获取最后一个元素对象
NSString *lastString = [array2 lastObject ];
NSLog ( @"%@" ,lastString); // 结果 : 王五
NSString *str1 = [array1 objectAtIndex : 0 ];
NSLog ( @"%@" ,str1); // 结果 : 张三
// 获取数组中元素的个数:
NSUInteger count = [array1 count ];
NSLog ( @"%ld" ,count); // 结果 :3
// 判断是否包含某个对象:
BOOL isContain = [array1 containsObject : @" 张三 " ];
NSLog ( @"%d" ,isContain); // 结果 :1
// 对象在数组中的索引位置
NSUInteger index = [array2 indexOfObject : @" 李四 " ];
NSLog ( @"%ld" ,index); // 结果 :1
// 连接数组中的字符串
NSString *str = [array2 componentsJoinedByString : @"," ];
NSLog ( @"%@" ,str); // 结果 : 张三 , 李四 , 王五
// 获取最后一个元素对象
NSString *lastString = [array2 lastObject ];
NSLog ( @"%@" ,lastString); // 结果 : 王五
/******** xcode 4.4
以后,对数组的创建和访问,语法上做了修改
***********/
//
将三个数组对象
s1,s2,s3
装入数组
NSArray *array3 = @[ s1, s2, s3 ] ;
// NSLog(@"%@",array3);
// 通过下标获取元素
NSString *s4 = array3[ 2 ];
NSArray *array3 = @[ s1, s2, s3 ] ;
// NSLog(@"%@",array3);
// 通过下标获取元素
NSString *s4 = array3[ 2 ];
NSLog(@"%@",s4); //
结果
:
王五
/*******
*************
*************
**************
****
****
***/
/*******
******
NSMutableArray 可变数组
*******
***********
*
*/
//NSMutableArray
是可变数组,数组中存储空间是可以动态修改的
//NSMutableArray
继承于
NSArray
,
NSArray
的方法都可以使用
//1.1 、 ==== 创建可变数组,设定 5 个存储空间,空间可以自动调整 =========
NSMutableArray *array1 = [[ NSMutableArray alloc ] initWithCapacity : 5 ];
//1.2 、 ==== 初始化 3 个元素装入数组 ==============================
NSString *s1 = @"a" ;
NSString *s2 = @"b" ;
NSString *s3 = @"c" ;
NSMutableArray *array2 = [[ NSMutableArray alloc ] initWithObjects :s1,s2,s3, nil ];
//2 、 ======= 添加元素 =========================================
[array1 addObject :s1];
[array1 addObject :s2];
[array1 addObject :s3];
//3 、 ====== 指定位置插入元素 ===================================
[array1 insertObject : @" 赵六 " atIndex : 1 ];
//4 、 ====== 替换元素 ==========================================
// 将位置为 0 的元素替换为 “ 张三 ”
[array1 replaceObjectAtIndex : 0 withObject : @" 张三 " ];
// 索引 1 和索引 2 上的元素调换
[array1 exchangeObjectAtIndex : 1 withObjectAtIndex : 2 ];
//5 、 ====== 添加元素 ==========================================
// 将数组 array2 中所有元素全部添加到 array1 中
[array1 addObjectsFromArray :array2];
//6 、 ====== 删除元素 ==========================================
// 删除指定位置的元素
[array1 removeObjectAtIndex : 0 ];
// 删除指定的对象
[array1 removeObject : @" 张三 " ];
// 删除最后一个元素
[array1 removeLastObject ];
// 删除所有
[array1 removeAllObjects ];
/****************
遍历数组
**********************************/
// 常规遍历(循环取出所有元素):
for ( int i = 0 ; i < [array2 count ]; i++) {
NSString *ss1 = [array2 objectAtIndex :i];
NSLog ( @"%@" ,ss1);
}
// 快速遍历(快速遍历所有元素):
for ( NSString *ss2 in array2) {
NSLog ( @"%@" ,ss2);
}
/**************
11111111111111111111
**********************************/
/*
循环录入班里 5 位学生的成绩,将成绩保存到数组中,然后求 5 位学生成绩的平均分
*/
循环录入班里 5 位学生的成绩,将成绩保存到数组中,然后求 5 位学生成绩的平均分
*/
NSMutableArray *score = [[NSMutableArray alloc]initWithCapacity:5];
CGFloat
sum =
0
;
//
总成绩
for
(
int
i =
1
; i <=
5
; i++) {
NSLog
(
@"
请输入第
%d
个学生的成绩:
"
,i);
char
*c =
alloca
(
9
);
scanf
(
"%s"
,c);
NSString
*a = [
NSString
stringWithCString
:c
encoding
:
NSUTF8StringEncoding
];
[score
addObject
:a];
sum += [a
floatValue
];
}
CGFloat
avg = sum / [score
count
];
NSLog
(
@"5
位学生的平均成绩为:
%.2f"
,avg);
/**************
222222222222222222222
**********************************/
/*
循环录入 6 个数值放入数组,然后求其中的最大值
*/
NSMutableArray *number = [[ NSMutableArray alloc ] initWithCapacity : 5 ];
CGFloat max = 0 ; // 最大值
for ( int i = 1 ; i <= 6 ; i++) {
NSLog ( @" 请输入第 %d 个数: " ,i);
char *c1 = alloca ( 9 );
scanf ( "%s" ,c1);
NSString *a1 = [ NSString stringWithCString :c1 encoding : NSUTF8StringEncoding ];
[number addObject :a1];
int b = [a1 floatValue ];
/* 把第 1 个输入的数直接赋值给 max ,保证即使输入的数都小于 0 ,也一样能找到他们的最大值
*/
if (i == 1 ) {
max = b;
}
if (b > max) {
max = b;
}
}
NSLog ( @"6 个数的最大值为: %.2f" ,max);
循环录入 6 个数值放入数组,然后求其中的最大值
*/
NSMutableArray *number = [[ NSMutableArray alloc ] initWithCapacity : 5 ];
CGFloat max = 0 ; // 最大值
for ( int i = 1 ; i <= 6 ; i++) {
NSLog ( @" 请输入第 %d 个数: " ,i);
char *c1 = alloca ( 9 );
scanf ( "%s" ,c1);
NSString *a1 = [ NSString stringWithCString :c1 encoding : NSUTF8StringEncoding ];
[number addObject :a1];
int b = [a1 floatValue ];
/* 把第 1 个输入的数直接赋值给 max ,保证即使输入的数都小于 0 ,也一样能找到他们的最大值
*/
if (i == 1 ) {
max = b;
}
if (b > max) {
max = b;
}
}
NSLog ( @"6 个数的最大值为: %.2f" ,max);
/**************
33333333333333333333
**********************************/
/*
1. 构建一个数组,含有 100 个 1~100 的整数,并用不同的方式将它们遍历出来
*/
// 构建一个数组
NSMutableArray *array1 = [[ NSMutableArray alloc ] initWithCapacity : 100 ];
for ( int i = 1 ; i <= 100 ; i++) {
// 将整型 i 转化为字符串
NSString *str = [ NSString stringWithFormat : @"%d" ,i];
[array1 addObject :str];
}
// 遍历数组
// 普通遍历
for ( int i = 0 ; i < [array1 count ]; i++) {
NSLog ( @"%@" ,array1[i]);
}
// 快速遍历
for ( NSString *str in array1) {
NSLog ( @"%@" ,str);
1. 构建一个数组,含有 100 个 1~100 的整数,并用不同的方式将它们遍历出来
*/
// 构建一个数组
NSMutableArray *array1 = [[ NSMutableArray alloc ] initWithCapacity : 100 ];
for ( int i = 1 ; i <= 100 ; i++) {
// 将整型 i 转化为字符串
NSString *str = [ NSString stringWithFormat : @"%d" ,i];
[array1 addObject :str];
}
// 遍历数组
// 普通遍历
for ( int i = 0 ; i < [array1 count ]; i++) {
NSLog ( @"%@" ,array1[i]);
}
// 快速遍历
for ( NSString *str in array1) {
NSLog ( @"%@" ,str);
}