首页 > 试题广场 >

一个文件记录中有50M个URL, 另一个有 500URL个,

[问答题]
一个文件记录中有50M个URL, 另一个有 500URL个,找出相同的记录
首先使用包含500个url的文件创建一个hash_set;然后遍历50M的url记录,如果url在hash_set中,则输出此url并从hash_set中删除这个url。所有输出的url就是两个记录里相同的url。

import java.util.HashSet;
public class Url {
 static String[] large=new String []{"1111","4444","3333","1111","5555","6666"};
 public static void main(String args[])
 {
  HashSet<String> small=new HashSet<String>();
  small.add("1111");
  small.add("2222");
  small.add("3333");
  small.add("1111");
  for(String str:large)
  {
   if(small.contains(str))
   {
   System.out.println(str);
   small.remove(str); 
   }
  }
 }
}

发表于 2015-09-19 15:08:54 回复(0)
将50M的URL的每一数据匹配500个URL,当有匹配上的时候,存储url,在500个url中删除匹配上的,同时建立一个链表记录这个url,下一次匹配时,现将50M的url匹配链表,匹配上则进行下一次匹配,否则匹配500个的url
发表于 2015-06-17 11:32:26 回复(0)