用Java存储和搜索大量数据的最快方法
问题的总体背景 我有3个大的XML文件。在第一个XML文件中,我感兴趣的大约有8000个IP地址,我根据它们的属性将它们分为3个HashMap。 一个HashMap是用Java存储和搜索大量数据的最快方法,java,xml,search,hashmap,Java,Xml,Search,Hashmap,问题的总体背景 我有3个大的XML文件。在第一个XML文件中,我感兴趣的大约有8000个IP地址,我根据它们的属性将它们分为3个HashMap。 一个HashMap是,而另外两个是 IP计算器将子网中的IP列表作为字符串提供给我,然后我通过3个哈希映射进行搜索以查找匹配项。找到后,我将它们保存到另外3个HashMaps中 现在,我需要在另外两个XML文件中搜索这些IP地址。然而 另外两个XML只有IP的字符串引用 所以基本上我的问题是,做字符串搜索的最快方法是什么?我可能在看10万个比较,这将是
,而另外两个是
IP计算器将子网中的IP列表作为字符串提供给我,然后我通过3个哈希映射进行搜索以查找匹配项。找到后,我将它们保存到另外3个HashMaps中
现在,我需要在另外两个XML文件中搜索这些IP地址。然而
另外两个XML只有IP的字符串引用
所以基本上我的问题是,做字符串搜索的最快方法是什么?我可能在看10万个比较,这将是非常缓慢的
有什么建议吗?将xml读入内存,然后在内存中进行搜索。 如果只有字符串引用,则引入自己的整数引用。 然后初始化一次。
这样你应该非常快,比任何数据库都快。你想过使用数据库吗?@JamesClark问题明确地说“在JAVA中”@John JAVA可以使用数据库。@John-Um,你不认为JDBC是JAVA吗?数据库不快,至少不适合主内存。我们已经将XML读入内存,不知道如何引入整数引用,因为XML的格式很糟糕,仅仅提取我们需要的信息就有点困难。请使用自己的类,而不是XML导入器生成的类。在自己的类中添加一个字段“int refToTableX”并初始化该字段。