List<String> newList = new ArrayList(); List<String> list = //遍历文件一得到URLs; Set<String> set = //遍历文件二得到URLs; for (Iterator iter = list.iterator(); iter.hasNext();) { String url = (String)iter.next(); if (!set.add(url))//不能add,说明set已经存在url newList.add(url); } //将newList写入第三个文件
然后遍历另外一个文件中的每一行,如果存在和这个set中相同的,就加入到一个map中,然后在set中删除。
如果两个文件中相同的Url比较多的话,会比单纯的双遍历要快许多。
1.将2个文件的URL写入map<K,V>中,发现重复K的时候V+1,跟统计文章单词出现次数一样。注意:同个文件重复的URL只记录一次。
2.遍历map,将V=2的K写入新文件。方法二:
1.分别生成2个包含URL的set
2.求2个set的交集
3.写文件
List<String> list = //遍历文件一得到URLs;
Set<String> set = //遍历文件二得到URLs;
for (Iterator iter = list.iterator(); iter.hasNext();) {
String url = (String)iter.next();
if (!set.add(url))//不能add,说明set已经存在url
newList.add(url);
}
//将newList写入第三个文件