Object C陣列和字典

2021-07-09 10:56:41 字數 4188 閱讀 6004

// 陣列

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