Java ArrayList,在字符串的一部分中查找重复项

时间:2014-10-07 19:03:52

标签: java arraylist bufferedreader

我正在寻找有关如何在arrayList中查找从.txt文件逐行填充的重复条目的一些指导。

.txt文件行如下:

9700874,6187,13-MAR-12,5503.78 ,5503.78 ,99950,4657,0045,4426920621,111000012,YS,9700874,

7531245,58195,13-MAR-12,5464.55 ,5464.55 ,99950,4661,0023,0041800591,275071288,S,7531245,

9319794,53402,13-MAR-12,5461.01 ,5461.01 ,741828,7098,0025,592245,082900911,S,7543539,


A      ,  B ,   C     ,  D     ,   E    ,  F  ,  G , H  ,   I      ,  J      ,K,   L    ,

我希望我的程序逐行读取文件,并将当前行发送到另一个方法。在此之前,我想检查以确保我在.txt文件中没有类似的行。仅在字段A, D and F上比较行的相似性。

我没有多少,但无论如何这里是我的代码,逐行抓取。

ArrayList<String> list = new ArrayList<String>();
while ((line = br.readLine()) != null) {

    currentline = line;

    //check if currentline(sec A D F) have been proccessed already, if yes skip line,
    //if no send to method 

    proccess(currentline);

    list.add(line);

}
String[] fileLines = list.toArray(new String[0]);
br.close();

1 个答案:

答案 0 :(得分:0)

您可以将HashSet<String>维持为A,D和A部分的组合值。 F。

对于每一行,计算A + D + F部分,看它是否存在于Set中,如果不存在 - 处理它并添加到set,如果是 - 忽略它