ios陣列操作集合,陣列排序

2021-07-02 19:52:33 字數 1721 閱讀 5865

1.陣列的基本用法

int count = [array count];//個數  

// 判斷是否包含了某個元素

if ([array containsobject:@"a"])

nsstring *last = [array lastobject];最後乙個元素

nsstring *str = [array objectatindex:1];根據索引獲取陣列中的元素

int index = [array indexofobject:@"c"];獲取指定元素的索引

// 讓陣列裡面的所有物件都呼叫test方法,123為引數

nsarray *array = [nsarray arraywithobjects:stu1, stu2, stu3, nil nil];

[array makeobjectsperformselector:@selector(test2:) withobject:@"123"];

nsarray *array = [nsarray arraywithobjects:@"1", @"2", @"3", @"4", nil nil];

// 1-2-3-4

// 利用分隔符-拼接所有的陣列元素

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

// 將乙個陣列寫入檔案(生成的是乙個xml檔案)

[array writetofile:path atomically:yes];

// 從檔案中讀取陣列內容(檔案有嚴格的格式要求)

nsarray *array2 = [nsarray arraywithcontentsoffile:path];

2.陣列遍歷

#pragma mark 遍歷陣列1  

void arrayfor1()

#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()

4.陣列去重

利用nsset的allobjects方法

這種方法更快,利用nsset不會新增重複元素的特性。不過去重的陣列沒有進行排序,如果需要排序,可以使用nssortdescriptor類。

示例**:

nsarray *arr = @[@111,@222,@111];

nsset *set = [nsset

setwitharray:arr];

nslog(

@"%@"

,[set allobjects]);

輸出結果為:

2013-05-21 12:06:26.508 test1[4547:c07] (

111,

222 )

集合 陣列,字典

int let numbers 1,2,3,4,5,6,7,8,9,10 for num in numberslet num1 numbers 0 let num2 numbers 1 let array zhangsan lisi 不能向不可變陣列中追加內容 var array1 zhangsan...

c 集合 陣列

集合的概念 集合原本是數學上的乙個概念,表示一組具有某種性質的數學元素,引用到程式設計中表示一組具有相同性質的物件。集合好比容器,將一系列相似的組合一起,是乙個特殊的類,和陣列一樣,可以通過索引訪問集合成員,也可以通過 鍵 來訪問,與傳統陣列不同的是,集合的大小可以動態調整,可以在執行時新增或刪除元...

集合 陣列正倒(公升降)序排序

1.list排序 正序 collections.sort list 倒序 collections.sort list collections.reverse list 注意collections.reverse list 是表示將該列表反過來 看 public static void main st...