iOS中NSArray陣列常用處理方式

2023-03-19 00:15:36 字數 3830 閱讀 1278

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 ...