NSArry基本用法

2021-07-09 14:17:09 字數 4335 閱讀 1404

//類方法建立陣列(空陣列,沒有意義)

nsarray *array = [nsarray array];

//例項方法建立陣列(空陣列)

nsarray *array1 = [[nsarray alloc]init];

//建立乙個陣列並初始化元素 nil表示陣列結束

nsarray *array2 = [nsarray arraywithobjects:@"wukong",@"八戒",@"baigujing", nil];

//用乙個陣列去建立乙個新陣列(相當於陣列拷貝)

nsarray *array3 = [nsarray arraywitharray:array2];

//快速建立

nsarray *array4 = @[@"1",@"ret",@"frsgdfh"];

//例項方法指定物件建立陣列

nsarray *array5 = [[nsarray alloc]initwithobjects:@"3",@"jds",@"f", nil];

//陣列元素個數

nslog(@"%ld",[array5 count]);

//訪問陣列元素

nslog(@"%@",[array5 objectatindex:1]);

nslog(@"%@",array5[1]);

//是否包含某一物件(呼叫這個物件的isequal方法)

bool iscontain = [array containsobject:@"1"];

//字串切割成陣列

nsstring *string7 = @"20|";

nsarray *a = [string7 componentsseparatedbystring:@"|"];

for (int i = 0; i < [a count]; i++)

//建立可變陣列(不能像nsarray那樣快速建立)

nsmutablearray *marray = [nsmutablearray array];

nsmutablearray *mutablearray1 = [[nsmutablearray alloc]init];//例項變數初始化

//建立時該陣列可容納元素個數

nsmutablearray *arr = [nsmutablearray arraywithcapacity:10];

//新增陣列元素

[mutablearray1 addobject:@"xiaobai"];

//新增多個陣列元素

mutablearray1.array = @[@"ds",@"3",@"rt"];

//在指定下標插入元素

[mutablearray1 insertobject:@"xiaohei" atindex:1];

//刪除陣列末尾元素

[mutablearray1 removelastobject];

//刪除所有元素

[mutablearray1 removeallobjects];

//根據元素物件刪除陣列對應元素(通過isequal方法比較)

[mutablearray1 removeobject:@"xiaohei"];

//根據陣列元素下標,刪除對應元素

[mutablearray1 removeobjectatindex:0];

//遍歷陣列

nsarray *array6 = [nsarray arraywithobjects:@"naruto",@"luffy",@"sasuke",@"zoro",@"conan",@"kakashi", nil];

for (int i = 0; i < [array6 count]; i++)

for (nsstring *str in array6)

//獲取陣列第乙個元素

nslog(@"%@",[array6 firstobject]);

//獲取陣列最後乙個元素

nslog(@"%@",[array6 lastobject]);

// 字串轉陣列

nsstring *string = @"1 2 3 4 5 6";

// 使用字串來分割原來的字串成乙個陣列

nsarray *array14 = [string componentsseparatedbystring:@" "];

nslog(@"%@",array14);

// 把陣列組裝字串

nsstring *str = [array componentsjoinedbystring:@"-"];

nslog(@"%@",str);

// 讓陣列中的所有元素執行某個方法

[array makeobjectsperformselector:@selector(bark)];

[array makeobjectsperformselector:@selector(eat:) withobject:@"骨頭"];

//遍歷陣列

// 使用普通for

nsarray *arr3 = @[@"re",@"fd",@"s"];

for (int index = 0; index < array.count; index++)

// 使用增加for(最常用)

for (nsstring *str in arr)

// 通過列舉器

nsenumerator *enumer = [arr objectenumerator];

nsstring *newdog;

while (newdog = [enumer nextobject])

// 通過block方式

// idx 表示這個元素在陣列索引

// stop 設定為yes 那麼就不往後遍歷的

[arr enumerateobjectsusingblock:^(nsstring * dog, nsuinteger idx, bool *stop)

}];// 使用比較器(block)

// array = [array sortedarrayusingcomparator:^nscomparisonresult(czdog * obj1, czdog * obj2) else if(obj1.age > obj2.age)else

//// return [obj1.name compare:obj2.name];

// }];

// nslog(@"%@",array);

//屬性描述器比較

nssortdescriptor *desc1 = [nssortdescriptor sortdescriptorwithkey:@"age" ascending:yes];

nssortdescriptor *desc2 = [nssortdescriptor sortdescriptorwithkey:@"name" ascending:yes];

array = [array sortedarrayusingdescriptors:@[desc1,desc2]];

nslog(@"%@",array);

陣列元素拼接字串

[array componentsjoinedbystring:@""];

陣列排序

nsarray *array = [self.modelarray sortedarrayusingcomparator:^nscomparisonresult(friendmodel* obj1, friendmodel* obj2) else

// [self getcommentandpraise];

}]

#pragma mark 陣列排序1  

void arraysort1()

#pragma mark 陣列排序2

void arraysort2()

- (nscomparisonresult)comparestudent:(student *)stu

return result;

} #pragma mark 陣列排序3

void arraysort3()

return result;

}];

nslog(@"array2:%@", array2);

} #pragma mark 陣列排序4-高階排序

void arraysort4()

python基本用法 Python基本用法總結

python 的設計具有很強的可讀性,易於使用。這裡對python基本用法做乙個總結介紹。一 變數型別 1 變數賦值 python中的變數賦值不需要型別宣告,每個變數在使用前都必須賦值,變數賦值之後才會被建立。使用等號進行變數的賦值。2 多個變數賦值 為多個變數賦值時或進行列表內資料的交換時,可以使...

mysql 的基本用法 mysql基本用法

mysql 5.1 中文參考手冊 show databases 顯示資料庫 drop database 資料庫名 刪除資料庫 set names utf8 設定資料庫編碼為utf 8 source x 資料庫名.sql 匯入乙個資料庫 use 資料庫名 嘗試訪問資料庫 create database...

mysql 的基本用法 mysql基本用法

mysql 5.1 中文參考手冊 show databases 顯示資料庫 drop database 資料庫名 刪除資料庫 set names utf8 設定資料庫編碼為utf 8 source x 資料庫名.sql 匯入乙個資料庫 use 資料庫名 嘗試訪問資料庫 create database...