每天我都会收到一个包含30-40k行的列表,每一行都包含有意义或无意义的名称,例如fastcar,ultrafastcar,blablablacar等。
我还有一个由任何语言中的所有单词组成的大列表(约50k行)。
我想将第一个列表与第二个列表进行比较,以过滤包含(或以...开头/以...结尾)第二个列表中的单词的内容。我的意思是,如果单词是“ultrafastcar”,那么它不会被过滤,但“blablacar”将被过滤掉。
我已经准备了一些Java代码,但比较列表需要太长时间。我已经使用了ArrayLists并将它们与contains()、startsWith()方法进行了比较。ArrayLists是正确的选择吗?除了这些方法之外,我还可以使用什么算法来进行比较?
parallelStream()
以轻松添加一些并发性(它在底层使用fork join)。 - markspace