首页 > 编程语言 > 详细

Java的ArrayList 无法去除重复,采用HashSet

时间:2016-05-14 17:08:33      阅读:151      评论:0      收藏:0      [点我收藏+]

ArrayList 只能对一次读入到内存中的所有对象 用contains方法去判断,从而去除重复。

List<String> seqId = new ArrayList<String>();
for (int i = 0; i < AllLines.length; i++) {
            String[] eachLine = AllLines[i].split("[\t]");
            //System.out.println(eachLine[0]);
            if (!seqId.contains(eachLine[0]))  {
                seqId.add(eachLine[0]);
            }
}


HashSet 可以去除重复;

而且要指定对象类型, 

HashSet<String> seqIdSet = new HashSet<String>();
Iterator<String> IdS = seqIdSet.iterator();
while(IdS.hasNext()){
            String tmpID = IdS.next();
            String tmp = new String(tmpID);
            String eachIDInSet = tmp.substring(0,tmp.indexOf("."));
            System.out.println("......"+eachIDInSet);
            System.out.println(eachIDInSet);
}

而且Iterator 只能生成一次迭代对象,不能重复使用。

Iterator<String> IdS = seqIdSet.iterator(); // 这一句如果不指定 <String> 这种类型的对象,
后面的String tmpID = IdS.next(); 就要改为 Object tmpID = IdS.next();

需导入的java类如下:

/** import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.util.Scanner; */
import java.util.Iterator;
import java.util.HashMap;
import java.util.Set;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.List;


本文出自 “R语言学习历程” 博客,请务必保留此出处http://matrix6ro.blog.51cto.com/1746429/1773312

Java的ArrayList 无法去除重复,采用HashSet

原文:http://matrix6ro.blog.51cto.com/1746429/1773312

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!