NSArray去除重复元素

直接上代码吧!

1.可以创建一个新的数组,对需要去除重复的数组进行遍历,如果新数组不包含就数组,那么添加元素,如果包含就不添加。

 1     NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"2",@"4",@"5",@"6",@"7",@"8",@"9",@"0", nil];
 2
 3     NSMutableArray *new = [NSMutableArray array];
 4     for (int  i = 0; i<[array count]; i++) {
 5
 6         if ([new containsObject:[array objectAtIndex:i]] == NO) {
 7             [new addObject:[array objectAtIndex:i]];
 8         }
 9     }
10     NSLog(@"%@",new);

打印结果:

(

1,
    2,
    4,
    5,
    6,
    7,
    8,
    9,
    0

)

2.也可以利用NSSet进行去重,不过这种方法不能进行重新排序,所以去重结果是混乱的

代码如下

    NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"2",@"4",@"5",@"6",@"7",@"8",@"9",@"0", nil];

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

打印结果:

(
    7,
    8,
    4,
    0,
    9,
    5,
    1,
    6,
    2

)

时间: 2024-12-29 09:52:28

NSArray去除重复元素的相关文章

List集合去除重复元素,不打乱顺序(数组转List)

//数组转List List<String> objStr_0_List = Arrays.asList(objArr[0].split("#,#")); //List集合去除重复元素,不打乱顺序 private List<String> getNon_repeatList(List<String> Str_List) { List<String> resultList = new ArrayList<String>(); S

去除List集合中的重复元素? 如果没有Set集合,List集合是怎么去除重复元素的(字符串类型,自定义类型)?

 关键字: 如果没有Set集合,List集合是怎么去除重复元素的(字符串类型)?  *   *     思考: List就可以存储重复元素,那么需求中容器中的元素必须保证唯一性,该如何解决呢??  *      *   去除List集合中的重复元素?  * * 思路: * * 1.首先我需要另一个临时容器tempList,用来存放我认为应该保留的元素.(也就是不重复的元素) * 2.然后我们应该遍历原容器, 一个一个的取出元素, 放入tempList. * 当tempList里已经装有刚刚取出的

去除重复元素

1: package cn.cqu.huang; 2: 3: import java.util.ArrayList; 4: import java.util.List; 5: 6: public class MyArrayList { 7: 8: //去除重复元素 9: public static void main(String[] args){ 10: List<String> lst = new ArrayList<String>(); 11: lst.add("a

java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。

import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据封装进人对象. 2,定义容器,将人存入. 3,取出. List集合判断元素是否相同,依据是元素的equals方法. */ class Person { private String name; private int age; Person(String name,int age) { this.n

Python列表去除重复元素

主要尝试了3种列表去除重复元素 #2.去除列表中的重复元素 #set方法 def removeDuplicates_set(nums): l2 = list(set(l1)) #用l1的顺序排序l2 #l2.sort(key=l1.index) return l2 #重构字典方法 def removeDuplicates_dict_fromkeys(nums): l2 = {}.fromkeys(nums).keys() return list(l2) #列表推到式,普通方法 def remov

js 去除重复元素

方法一: 1 //数组去重的方法 2 Array.prototype.unique=function(){ 3 //集中声明变量 4 var 5 oldArr=this, 6 newArr=[oldArr[0]], 7 len=oldArr.length, 8 i=1; 9 //过滤空数组 10 if(!len) return this; 11 //过滤重复元素 12 for(;i<len;i++){ 13 newArr.indexOf(oldArr[i])<0 ? newArr.push(_

unique函数去除重复元素在vector中的应用

 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<vector> #include<algorithm> #include<iostream> using namespace std; int main() { int a[10]={1,7,4,1,7,4,1,7,4,0}; sort(a,a+10); vector<int> ver(a

TreeSet中不能去除重复元素。。。。。。。。。。。。。。

import java.util.Comparator;import java.util.Set;import java.util.TreeSet; /** * TreeSet如果是存String,默认会按照字母排序 * */public class Demo01 { public static void main(String[] args) { // TODO Auto-generated method stub //在一个集合中存储了无序并且重复的字符串,让其有序(字典顺序),而且还不能去

python去除重复元素

目的:让我们两个列表压缩后,去除重复的点: 1.set()方法: 蓦然回首,那人却在灯火阑珊处: 这个方法实现了我想要的压缩后的列表的重复删除:   list4 = [0,0,1,2,4,5,6,7,5,0,2] list5 = [2,5,4,8,5,6,6,6,6,2,8] list6 = zip(list4,list5) list7 = list(list6) print(list7) a = list(set(list7)) print(a) #结果: [(0, 2), (0, 5), (