查找相同元素

如何从数万条信息中找到相同的元素并把它提取出来。(注:单个元素信息是个人的身份信息如:身份证号,姓名,年龄等)请大家指点

String[] datas = new String[10000];// 假设这里存放的是身份证号码,实际中肯定不是这样,但不影响实现过程

HashMap> map = new HashMap> ;
for (int i = 0; i String id = datas[i];
ArrayList list = map.get(id);
if (list == null) {
list = new ArrayList();
map.put(id, list);
}
list.add(i);
}

// 这时 map 中的 key 为所有身份证号码,value 是该身份证号码在 datas 中的序号列表了,接下来要做的就是遍历 map 了。

没太明白你的意思,
你是说从数万的身份证号中找到相同的?像这样子的吗?

建一个 Map> 做辅助,key 为身份证号码,value中的ArrayList保存行号

遍历一遍数据就行了

如果不能取得数据源的行号, 将 HashMap> 换成 HashMap> 也可以

效率不超过2*n,怎么不好?你想当然了吧

如果能用数据库的话,导入到数据库中再处理也行