标签: duplicate-removal

从数组中删除重复项,比较其对象的属性

假设我有一个类Event,它有2个属性:action(NSString)和date(NSDate).

假设我有一个Event对象数组.问题是"日期"属性可以匹配.

我需要删除重复项,这意味着具有相同日期的2个不同对象是重复的.

我可以删除任何字符串或nsdates数组中的重复项,它们很容易比较.但是如何使用复杂对象来处理它们的属性呢?

不要问我到目前为止我做了什么,因为我脑子里唯一想到的就是冒泡,但这是一个新手解决方案,而且很慢.

非常感谢任何帮助(链接,tuts,代码).

提前致谢.

编辑

感谢dasblinkenlight,我制作了一个自定义方法:

- (NSArray *)removeDuplicatesInArray:(NSArray*)arrayToFilter{

    NSMutableSet *seenDates = [NSMutableSet set];
    NSPredicate *dupDatesPred = [NSPredicate predicateWithBlock: ^BOOL(id obj, NSDictionary *bind) {
        YourClass *e = (YourClass*)obj;
        BOOL seen = [seenDates containsObject:e.propertyName];
        if (!seen) {
            [seenDates addObject:e.when];
        }
        return !seen;
    }];
    return [arrayToFilter filteredArrayUsingPredicate:dupDatesPred];
} 
Run Code Online (Sandbox Code Playgroud)

YourClass是对象所属类的名称,并且propertyName是要比较的对象的属性.

假设self.arrayWithObjects包含YourClass的对象.

填充后,使用

self.arrayWithObjects = [self removeDuplicatesInArray:self.arrayWithObjects];

你完成了

所有信用到dasblinkenlight.干杯!

sorting iphone objective-c duplicates duplicate-removal

17
推荐指数
1
解决办法
6937
查看次数

Postgres:左边加入订单依据和限制1

我有这样的情况:

Table1 has a list of companies.
Table2 has a list of addresses.
Table3 is a N relationship of Table1 and Table2, with fields 'begin' and 'end'.
Run Code Online (Sandbox Code Playgroud)

由于公司可能会随着时间的推移而移动,因此其中的LEFT JOIN会为每家公司带来多条记录.

beginend字段永远不会为NULL.找到最新地址的解决方案是使用a ORDER BY being DESC,并删除旧地址是一个LIMIT 1.

如果查询只能带来一家公司,那该工作正常.但我需要一个查询,它带来所有Table1记录,并与当前的Table2地址相连接.因此,必须在LEFT JOIN的ON子句中删除过时的数据(AFAIK).

知道如何构建条款不创建重复的Table1公司并带来最新地址吗?

postgresql sql-order-by left-join foreign-key-relationship duplicate-removal

16
推荐指数
3
解决办法
2万
查看次数

mongo 3在唯一索引上重复 - dropDups

在mongoDB的文档中,它说:"在版本3.0中更改:dropDups选项不再可用."

如果我真的想创建一个唯一的索引并销毁重复的条目,我还能做什么(除了降级)?

请记住,我每秒收到大约300个插入,所以我不能删除所有重复项,并希望在我完成索引编制时不会有任何内容.

indexing unique duplicate-removal mongodb

16
推荐指数
2
解决办法
1万
查看次数

删除重复的行(不要删除所有重复的行)

我正在使用postgres.我想删除重复行.条件是,不会删除重复行集中的1个副本.

即:如果有5个重复记录,那么其中4个将被删除.

sql postgresql duplicate-removal

14
推荐指数
1
解决办法
1万
查看次数

从java中的字符串中删除重复值

任何人都可以让我知道如何从中删除重复值

String s="Bangalore-Chennai-NewYork-Bangalore-Chennai"; 
Run Code Online (Sandbox Code Playgroud)

和输出应该是这样的

String s="Bangalore-Chennai-NewYork-";
Run Code Online (Sandbox Code Playgroud)

使用Java ..

任何帮助,将不胜感激.

java string duplicates duplicate-removal

14
推荐指数
1
解决办法
3万
查看次数

MySQL插入重复键; 删除?

有没有办法删除MySQL中重复键的记录?

假设我们在数据库中有一个具有特定主键的记录,我们尝试添加另一个具有相同键ON DUPLICATE KEY UPDATE的记录- 只是更新记录,但是如果已经存在,是否有删除记录的选项?点击按钮即可实现简单的输入/输出功能.

mysql key duplicate-removal sql-delete

14
推荐指数
3
解决办法
2万
查看次数

删除除最后一个实例之外的所有重复项

所以我在R中有一个数据集,其中以下布局为例:

ID Date Tally
1 2/1/2011 1
2 2/1/2011 2
3 2/1/2011 3
1 2/1/2011 4
2 2/1/2011 5
1 2/1/2011 6
3 2/1/2011 7
4 2/1/2011 8
2 2/1/2011 9
Run Code Online (Sandbox Code Playgroud)

我想删除除post id的LAST实例之外的所有实例.现在我可以在网上找到的所有东西,我正在使用的功能是删除除FIRST实例之外的所有内容.

所以我的新数据框架看起来像:

ID Date Tally
1 2/1/2011 6
3 2/1/2011 7
4 2/1/2011 8
2 2/1/2011 9
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?现在我只能保留第一个实例.我希望它做相反的事情吗?有帮助吗?

忍受我,我是R的新手:)

r duplicate-removal

14
推荐指数
2
解决办法
1万
查看次数

删除重复的行只留下最旧的行?

我有一个数据表,并且有许多来自用户提交的重复条目.

我想根据字段删除所有重复行subscriberEmail,只留下原始提交.

换句话说,我想搜索所有重复的电子邮件,并删除这些行,只留下原始邮件.

如何在不交换表的情况下执行此操作?
我的表包含每行的唯一ID.

mysql duplicate-removal delete-row

13
推荐指数
1
解决办法
6789
查看次数

合并多个文本文件并删除重复项

我有大约350个文本文件(每个文件大约75MB).我正在尝试合并所有文件并删除重复的条目.该文件采用以下格式:

ip1,dns1
ip2,dns2
...
Run Code Online (Sandbox Code Playgroud)

我写了一个小的shell脚本来做这件事

#!/bin/bash
for file in data/*
do
    cat "$file" >> dnsFull
done
sort dnsFull > dnsSorted
uniq dnsSorted dnsOut
rm dnsFull dnsSorted
Run Code Online (Sandbox Code Playgroud)

我经常进行这种处理,并且想知道下次运行时我是否可以采取任何措施来改进处理.我对任何编程语言和建议持开放态度.谢谢!

unix shell merge text duplicate-removal

12
推荐指数
1
解决办法
1万
查看次数

删除保留最小ID的重复项

我有一个人表,插入了不同身份的重复人.我想删除名称重复的人,只保留具有最小ID的人.对于eG,应保留具有ID 18398的Absalon记录,并删除所有其他重复记录.

在此输入图像描述

sql duplicates duplicate-removal oracle11g

12
推荐指数
1
解决办法
7182
查看次数