iOS陣列去重總結

2021-07-05 17:01:03 字數 576 閱讀 1079

一般情況下我們都要對陣列進行去重整理,我總結了以下幾種方法,廢話不多說,一一分析:

一:利用字典

nsarray *arr = @[@"qq",@"ww",@"qq"];

nsmutabledictionary *dict = [nsmutabledictionary dictionary];

for (nsstring *str in arr)

nslog(@"%@",[dict allkeys]);

二:利用集合

nsarray *arr = @[@"qq",@"ww",@"qq"];

nsset *set = [nsset setwitharray:arr];

nslog(@"%@",[set allobjects]);

三:利用for迴圈

前面兩種方法會導致陣列的元素順序隨機改變,有時候我們需要按照新增順序加入陣列,**如下:

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

}

iOS 陣列去重

利用nsdictionary的allkeys allvalues 方法 可以將nsarray中的元素存入乙個字典,然後利用allkeys或者allvalues取得字典的所有鍵或值,這些鍵或值都是去重的。示例 nsarray arr 111,222,111 nsmutabledictionary di...

iOS陣列的去重

近來,專案中遇到了陣列去重的需求,自己想了下,建立另乙個陣列加判斷條件來新增原陣列的元素 但是上面那種方法的時間複雜度是 n 2 下面這個方法 nsarray arr 1 2 1 3 1 2 3 2 nsorderedset set nsorderedset alloc initwitharray ...

陣列去重演算法總結

方法一 set 對於陣列項是物件的陣列,不能直接去重,陣列項是字串或者數字的可以直接去重 時間複雜度是o 1 let delrepeatfunc function arr delrepeatfunc testarray delrepeatfunc testarraystore delrepeatfu...