可變陣列的初始化
可變陣列,繼承於不變陣列nsarry;
不可變陣列的方法都可以用於可變陣列
建立乙個空的可變陣列
nsmutablearray *arr = [[nsmutablearray alloc]init];
//給乙個初始化容量
nsmutablearray *arr1 = [[nsmutablearray alloc]initwithcapacity:10];
//類方法
nsmutablearray *arr2 = [nsmutablearray array];
nsarray *arr = @[@「zjp」,@「ww」,@「jjj」,@「ww」,@「ahk」];可變陣列新增元素nsmutablearray *arr1 = [[nsmutablearray alloc]init];
nsmutablearray *arr2 = [nsmutablearray array];//類方法
//增加乙個物件
[arr1 addobject:@"jay"];
//從陣列裡增加物件元素
[arr1 addobjectsfromarray:arr];
nslog(@"arr1= %@",arr1);
//插入
//插入元素 在指定的下標位置
[arr1 insertobject:@"hello" atindex:0];
可變陣列刪除元素
//刪除 指定下標的元素
[arr1 removeobjectatindex:0];
nslog(@"arr1= %@",arr1);
//刪除最後 乙個元素
[arr1 removelastobject];
nslog(@"arr1= %@",arr1);
//刪除指定元素 如果你陣列裡有多個相同的元素,也會一起刪除
[arr1 removeobject:@"ww"];
nslog(@"arr1= %@",arr1);
//刪除指定範圍的 元素
nsrange range = ;
[arr1 removeobject:@"zjp" inrange:range];
nslog(@"arr1= %@",arr1);
//刪除指定範圍裡的 所有元素
[arr1 removeobjectsinrange:range];
nslog(@"arr1= %@",arr1);
//刪除指定陣列的所有元素
[arr1 removeobjectsinarray:@[@"zjp"]];
nslog(@"arr1= %@",arr1);
//刪除指定下標集合的元素
//下標集合類
nsmutableindexset *indexset = [[nsmutableindexset alloc]init];
[indexset addindex:0];//把下標0放進集合裡
[indexset addindex:1];//把下標2放進集合裡
[arr1 removeobjectsatindexes:indexset];
nslog(@"arr1= %@",arr1);
//刪除陣列的所有元素
[arr1 removeallobjects];
nslog(@"arr1= %@",arr1);
可變陣列中元素的交換
nsmutablearray *array = [nsmutablearray arraywithobjects:@"1",@"2",@"3",@"4",@"5",nil]
//交換元素
//交換指定下標的陣列元素
nslog(@"array= %@",array);
[array exchangeobjectatindex:0 withobjectatindex:4];
nslog(@"array= %@",array);
//替換指定下標的元素
[array replaceobjectatindex:4 withobject:@"6"];
nslog(@"array= %@",array);
可變陣列練習 氣泡排序
nsmutablearray *arrm = [nsmutablearray arraywithobjects:@"1",@"2",@"5",@"4",@"8",@"10",@"7",@"3",@"6",@"9", nil];
nsinteger j=0;
for (nsinteger i = 0; i<[arrm count]; i++) }}
nslog(@"arrm= %@",arrm);
}
1.建立乙個可變陣列,陣列中包含若干不相同的字串,要求將指定的字串刪除
nsmutablearray *arr = [nsmutablearray arraywithobjects:@"1",@"4",@"s",@"6", nil];
[arr removeobject:@"s"];
nslog(@"arr= %@",arr);
2.建立乙個可變陣列,陣列中包含若干不相同的字串,要求將 下標整除3 的元素全部刪除
nsmutablearray *array = [nsmutablearray arraywithobjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11", nil];
nsmutableindexset *index = [[nsmutableindexset alloc]init];
for (nsinteger i=0; i<[array count]; i++)
}[array removeobjectsatindexes:index];
nslog(@"arry= %@",array);
需要注意 上面的**,如果在for迴圈裡面刪除是不正確的,因為下標在一直變化的 oc 29 可變陣列
陣列長度不固定,可以隨便往裡面新增或者刪除元素。1.建立陣列 nsmutablearray arraym nsmutablearray array 2.給陣列新增元素 只能是oc物件 void addobject id anobject 3.如何刪除陣列元素 import int main int ...
OC不可變陣列NSArray詳解
1 nssarray 子類nsmutablearray nsset 子類nsmutableset nsdictionary 子類nsmutabledictionary 這幾個類都是集合類。2 c語言型別的陣列只能存放一種型別的資料。為此引入oc陣列nsarray,以物件導向的方法運算元據,可以存放各...
Object C 中的可變陣列和不可變陣列
在oc中,我們用 nsarray 類 和 nsmutablearray 類來表示陣列,其中,nsarray 類 是 nsmutablearray 類的父類。在oc中,我們陣列是有序的 物件 的集合,即我們的陣列只能儲存 物件 在oc中我們的陣列中元素型別不能是 int float cgpoint 等...