// 陣列
(nsarray)
// 系統提供的陣列類--類似於c語言中的陣列
// oc中的陣列是個大容器,可以存放不同型別的物件,且只能儲存物件(基本資料型別不可存)
// oc陣列提供兩類陣列 nsarray(不可變陣列) nsmuatablearray (可變陣列)
// 可變與不可變區別:
// 可變意味著對原有的物件進行曾刪改操作, 而不可變就意味著陣列一經建立不能修改
// 1. 建立物件
#if 0
// 1). 初始化方法
nsarray *array = [[nsarray alloc] initwithobjects:@"aaa", @"bbb", @"ccc", nil];
nslog(@"%@", array);
nsarray *array1 = [[nsarray alloc] initwitharray:array];
nslog(@"%@", array1);
// 2). 便利方法
nsarray *arr = [[nsarray alloc] initwithobjects:@"sdfg", @"gfg", @"fsf", nil];
nsarray *arr1 = [nsarray arraywitharray:arr];
nsarray *arr2 = [[nsarray alloc] initwitharray:arr1];
// 初始化乙個元素
nsarray *arr3 = [nsarray arraywithobject:@"123"];
nsarray *array3 = [nsarray arraywithobjects:@"aa", @"bb", @"cc", nil];
nslog(@"%@", array3);
nsarray *array4 = [nsarray arraywitharray:array1];
nslog(@"%@", array4);
// 3). 字面量(用於不可變得量)
nsarray *array6 = @[
@"1", @"2", @"3"
];// 2. 獲取陣列元素個數
nslog(@"%lu", array.count);
// 3. 獲取陣列中的元素
// 1). 給定位置獲取元素
nslog(@"%@", [array objectatindex:2]);
//6 nslog(@"%@", [array objectatindexedsubscript:2]);
// 2). 第乙個元素
nslog(@"%@", array.firstobject);
// 3). 最後乙個元素
nslog(@"%@", [array lastobject]);
// 4. 根據元素獲取元素所在陣列中對應的索引(下標)
nslog(@"%ld", [array indexofobject:@"ccc"]);
// 5. 判斷陣列中是否包含某乙個給定物件
nslog(@"%d", [array containsobject:@"aaa"]);
// 6. nsarray與nsstring的轉換方法
// nsstring->nsarray
nsstring *string1 = @"www.asdfdsf.com";
nsarray *array5 = [string1 componentsseparatedbystring:@"."];
nslog(@"%@", array5);
// nsarray -> nsstring
nsstring *string2 = [array5 componentsjoinedbystring:@"."];
nslog(@"%@", string2);
nsstring *str4 = @"
我喜歡你
";nsarray *arr4 = [str4 componentsseparatedbystring:@""];
nslog(@"%@", arr4);
nsstring *str5 = [arr4 componentsjoinedbystring:@""];
nslog(@"%@", str5);
#endif
// 可變字元陣列
// 1. 初始化方法
nsmutablearray*array = [[nsmutablearray
alloc
] initwithobjects
:@"abc"
, @"def"
, nil];
nslog(@"%@", array);
nsmutablearray *array1 = [[nsmutablearray
alloc] initwitharray:array];
nslog(@"%@", array1);
// 2.便利構造器
nsmutablearray*array2 = [nsmutablearray
arraywithobjects
:@"123"
, @"456"
, nil];
nsmutablearray*array3 = [nsmutablearray
arraywitharray
:array2];
nslog(@"%@", array3);
// 與父類相同初始化
// 4.新增元素
[array2 addobject:@"789"];//
直接新增乙個元素
nslog(@"%@", array2);
[array1 addobjectsfromarray:array1];//
新增陣列
nslog(@"%@", array1);
// 5.刪除元素
[array removeobject:@"abc"];//
刪除指定元素
nslog(@"%@", array);
[array removeallobjects];
// 刪除所有元素
nslog(@"%@", array);
// 6. 插入元素
nslog(@"%@", array1);
[array1 insertobject:
@"bnm"
atindex:1];
nslog(@"%@", array1);
// 7. 交換指定位置的兩個元素
[array2 exchangeobjectatindex:
0withobjectatindex:2];
nslog(@"%@", array2);
// 8.替換元素
[array3 replaceobjectatindex:
1withobject:
@"333"];
nslog(@"%@", array3);
// 練習題
#if 1
person *p1 = [[person
alloc] initwithname:@"1"
withage:10];
person *p2 = [[person
alloc] initwithname:@"2"
withage:11];
person *p3 = [[person
alloc] initwithname:@"3"
withage:12];
// 建立小組
// 建立空陣列
//nsmutablearray *group = [nsmutablearray array];
nsmutablearray *group = [nsmutablearray
arraywithobjects:p1, p2, p3, nil];
// 新增乙個成員
person *p4 = [[person
alloc] initwithname:@"4"
withage:19];
[group addobject:p4];
nslog(@"%@", group);
//// [group removeobject:p1];
// [group removeobject:p2];
nslog(@"%@", group);
陣列和字典
陣列 注 oc相容c的陣列,用於儲存基礎資料型別 int,char,float 資料和復合資料型別 int int 10 資料 使用oc的陣列物件儲存類的物件。注 nsmutablearray nsarray 1.nsarray的方法nsmutablearray都可以用 2.傳參需要傳入nsarra...
swift,陣列和字典
建立陣列和字典使用符號 訪問元素通過索引或鍵。例如 陣列 var colors red blue green 想要答案為紅色的,可以這樣獲取到 var color cllors 0 字典 var people name jack age 20,height 70 想要獲取人的屬性,可以這樣獲取 va...
shell陣列和字典
bin bash echo shell定義字典 必須先宣告 declare a dic dic key1 value1 key2 value2 key3 value3 列印指定key的value echo 列印所有key值 echo 列印所有value echo 遍歷key值 for key in ...