java在多个字符串里匹配

每当我得到一个字符串我要和5000多个字符串去匹配寻找相同的,
可以把5000多个字符串做成文件在java里通过流读取匹配吗,或者有更好的方法吗,

可以放到文件中;
也可以把5000个字符串放到数据库中,然后判断是否存在数据库里

5000个字符串这点数据量不大,可以直接放内存中,比如用一个list等。然后每次有一个字符串就去查找
还可以对字符串放hashtable,这样可以直接比较hash来查找,效率更好

最好的办法是做倒排索引,搜索引擎的全文搜索就是这么实现的。

例子
http://download.csdn.net/detail/a1298071341/3335929

看你这5000个原来在哪里了。如果是系统生成的,还是不要存到文档里了,读写很费时间,不如放到一个list或者map中。