1. 程式人生 > >iOS去除陣列中重複元素的幾種方法

iOS去除陣列中重複元素的幾種方法

//第一種:利用NSDictionary的allKeys(allValues)方法。
    NSArray *array = @[@"2016-10-1",@"2016-10-9",
                  @"2016-10-9",@"2016-10-9",@"2016-12-25",
                  @"2016-12-25",@"2016-12-25",
                       @"2016-12-25",@"2016-12-25"];
    


    NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:0];
    for (NSString *str in array) {
        
        [dic setValue:str forKey:str];
    }
    NSLog(@"%@",[dic allKeys]);<pre name="code" class="html">//列印結果
 (
    "2016-12-25",
    "2016-10-1",
    "2016-10-9"
)<pre name="code" class="html">
//第二種方法:利用NSSet的allObjects方法

    NSSet *set = [NSSet setWithArray:array];
    NSLog(@"%@",[set allObjects]);

<pre name="code" class="html">//第三種:利用陣列的containsObject
    NSMutableArray *ary = [[NSMutableArray alloc]init];
    for (NSString *str  in array) {
        if (![ary containsObject:str]) {
            [ary addObject:str];
        }
    }
    NSLog(@"%@",ary);


//第四種:利用keyValue

    array = [array valueForKeyPath:@"@distinctUnionOfObjects.self"];

NSLog(@"----%@",array);

//第五種,輸出結果順序不會亂
    NSMutableArray *categoryArray = [[NSMutableArray alloc] init];
    for (unsigned i = 0; i < [array count]; i++){
        if ([categoryArray containsObject:[array objectAtIndex:i]] == NO){
            [categoryArray addObject:[array objectAtIndex:i]];
        }
        
    }
    
    NSLog(@"======%@",categoryArray);


相關推薦

iOS去除陣列重複元素方法

//第一種:利用NSDictionary的allKeys(allValues)方法。 NSArray *array = @[@"2016-10-1",@"2016-10-9",

iOS 去除陣列重複資料的方法

第一種:利用NSDictionary的AllKeys(AllValues)方法 程式碼: NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-03", @"2014-04-01",

Js去除陣列重複元素的4方法

    今天工作遇到此問題,嘗試多個方法不盡人意,故此寫個部落格來總結一下如何在js中去除重複元素。     方法1:                 Array.prototype.method1 = function(){             var arr[

JS去除陣列重複元素

var arr =["2017-12", "2017-12", "2017-12", "2018-02", "2018-02", "2018-02", "2018-02", "2018-02", "20

RF-去除陣列重複元素

1、去除陣列中重複元素 ${Record1} create list 1 1 2 2 ${len} Get Length ${Record1} #len=4 log many ${Recor

Java去除字串空格的方法

1.直接上程式碼 package com.examplezhc.demo; import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity

c++ 去除陣列重複元素

for(int i=0;i<len;i++) { for(int j=i+1;j<len;j++) { if(x[j]==x[i]) { for(int k=j+1;k

python兩個列表升序合併並且去除列表重複元素的兩方法

程式碼如下  l1 = [1,2,7,12,4,9,5] l2 = [5,1,10,11,2] l3 = l1 + l2 l3.sort() # print(set(l3)) #去除重複元素方法一 l4 = [] #去除重複元素方法二 for x in l3:

LeetCode——解決刪除陣列重複元素問題三方式

情景要求: (1)輸入的陣列元素為基本型別int。 (2)返回不含重複元素的陣列,其型別為基本型別int。 (3)對最後的結果陣列元素順序沒有要求,可亂序也可排序。 經過一系列的思考與實踐,總結出了以下三種不同情形“刪除陣列重複元素”的解決辦法。

js去除陣列重複元素去除陣列相鄰的重複元素

//去除陣列的重複元素 Array.prototype.distinct = function(){ var $ = this; var o1 = {}; var o2 = {}; var o3 = []; var o; for(var i=0;o = $[i]

去除陣列重複資料

public class DeleteDuplicate {     public static void main(String[] args) {         int[] array = new int

js陣列遍歷的方法及其區別

第一種最常用的:for迴圈  for(j = 0; j < arr.length; j++) { }  優化版for迴圈   for(j = 0,len=arr.length; j < len; j++) {

資料結構演算法題/刪除陣列重複元素

題目   給定一個排序的陣列,將陣列中的重複元素去掉,相同的只保留一個,並且返回陣列新的元素個數, 不要建立一個新的陣列來儲存結果。在常量時間內解決這個問題  解題思路   從第二個元素開始處理,記為當前處理的元素,如果當前元素與他的前一個元素相同就刪除這個元素, 如果不同就將它移動到正

隨筆-去除陣列某個元素(將陣列val移到後面去,並不改變其他元素的相對順序)

題目: 給定一個數組 nums,編寫一個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。 示例: 輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0] 說明: 必須在原陣列上操作,不能拷貝額外的陣列。 儘量減少操作次數。 思路:定義一個n

陣列:找出陣列重複元素最多的數

題目描述: 如何找出陣列中重複元素最多的數 思路: 使用Map對映表記錄每一個元素出現的次數,然後判斷次數大小,進而找出重複次數最多的元素。key表示陣列的元素,value表示這個元素在陣列中出現的次數。最後對map進行遍歷。 程式碼: /** * 使用map

刪除陣列重複元素 (使用stl::set)

/*  *程式作用刪除數中重複的元素,先使用set 遍歷一次陣列,然後在使用兩個指標,以及set查重,  *去重複之後使用0填補多餘空間  *複雜度 O(NlogN)  *空間複雜度 O(N) */ #include<iostream> #include<

如何找出陣列重複元素最多的數

package java程式設計師面試筆試寶典; import java.util.Collections; import java.util.HashMap; import java.util.Ma

去除陣列重複的值

   //去除陣列中重複值    function unique(arr){        var result = [];        for(var i=0;i<arr.length;i++){            if(result.indexOf(arr[

計算陣列重複元素個數

/** * @param result 陣列 * @param valueNum 計算重複個數的元素 * */ function isRepeat(result,valueNum){ //判斷陣列中重複元素的個數 var arr = [];

去除List重複元素

轉載自:http://blog.csdn.net/mwq384807683/article/details/8088706用Set ,倘若list裡邊的元素不是基本資料型別而是物件,那麼請覆寫Object的boolean equals(Object obj) 和int ha