1. 陣列的常用處理方式
//--------------------不可變陣列
//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) else
//6.連結陣列中的字串(前提:陣列中都是字串)
nsstring *joinstring = [array4 componentsjoinedbystring:@","];
nslog(@"joinstring = %@",joinstring);
//7.訪問陣列最後一個元素
nsstring *lastobj = [array4 lastobject];
nslog(@"lsatobj = %@",lastobj);
//8.再原路的陣列後面新增一個元素
nsarray *array5 = [array4 arraybyaddingobject:@"zhaolia"];
nslog(@"array5 = %@",array5);
//取對應下標元素
int idx=4;
if (idx 程式設計客棧; //等價於: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 insert程式設計客棧object:@"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 insertobjectkrdggxk:@"jack" atindex:0];
nslog(@"marray2 = %@",marray2);
//4.替換元素
[marray2 replaceobjectatindex:0 withobject:@"john"];
nslog(@"替換:%@",marray2);
//5.互換兩個元素的位置
[marray2 exchangeobjectatindex:3 withobjectatindex:0];
nslog(@"marray2 = %@",marray2);
//6.刪除元素
krdggxk根據下標刪除
[marray2 removeobjectatindex:2];
nslog(@"marray2 = %@",marray2);
刪除最後一個元素
[marray2 removelastobject];
nslog(@"marray2 = %@",marray2);
刪除指定的物件
//[marray2 removeobject:@"zhangsan"];
刪除所有元素
[marray2 removeallobjects];
nslog(@"marray2 = %@",marray2);
本文標題: ios中nsarray陣列常用處理方式
本文地址: http:/ruanjian/ios/161925.html
iOS陣列NSArray介紹
1.陣列只能存放物件型別的資料 2.陣列的物件是有序的 1 nsarray nsobject 不可變陣列 不可以插入 刪除 修改 作用 容器類 存放的是物件型別的資料 建立方法 建立陣列 並且存入一些物件 物件之間用 隔開 以nil 結尾 nsarray array1 nsarray alloc i...
NsArray陣列NsDictionary集合小結
nsarray陣列 集合 arp view plaincopy在code上檢視 片派生到我的 片 nsarray sortedarray daydatamarrray sortedarrayusingcomparator id obj1,id obj2 if obj2date timeinterva...
OC語法 陣列NSArray
1.不可變陣列nsarray nslog lu array indexofobject iphone 獲得相應物件的下標 結果 02.可變陣列nsmutablearray 數值與物件轉換 因為陣列和字典中存放的只能是物件型別.所以一般的數值是不能直接存入的,只能轉化成物件元素才能存入 如 int c...
iOS陣列常用方法
陣列定義 nsmutablearray arr nsmutablearray alloc initwithobjects a b c nil 清空陣列 刪除陣列中的全部元素 arr removeallobjects 刪除陣列最後加入的元素 arr removelastobject 陣列拷貝 將一個陣...
ios筆記 NSArray用法
main.m nsarrray created by passer by on 15 3 23.import int main intargc,const char argv nsmutabearray 建立可變陣列病設定容量 nsmutablearray marray nsmutablearray...
NSArray中containsObject的用法
使用cotainsobject的方法場景很常見例如 判斷一個元素 物件 是否存在陣列中 但是使用的時候需要注意 constainsobject內部在比較物件是否相等時採取的是地址比較。如果兩個不同的地址而內容完全相等的物件採取containsobject預設比較返回結果是no 針對這種情況,一般我們...
OC課堂筆記 陣列NSArray
oc中陣列nsarray nsarray不可變陣列 oc中的陣列,只能存物件,不可以存標量 例如 int,float,double,char.1.常量的方式初始化一個陣列 nsarray arr1 1 2 3 3 nslog arr1 3 2.便利構造器 nsarray arr2 nsarray a...
nsarray 釋放 陣列記憶體的釋放與申請
使用二維陣列的時候,有時候事先並不知道陣列的大小,因此就需要動態的申請記憶體。常見的申請記憶體的方法有兩種 malloc free 和 new delete。一 malloc free 1 申請一維陣列 void dynamiccreate1array int m int i int p cout ...