【发布时间】:2011-10-02 11:44:01
【问题描述】:
我有一个List<String>
List<String> list = new ArrayList<String>();
list.add("ABCD");
list.add("EFGH");
list.add("IJ KL");
list.add("M NOP");
list.add("UVW X");
如果我执行list.contains("EFGH"),它会返回true。
在list.contains("IJ") 的情况下我可以得到一个真实的吗?我的意思是,我可以部分匹配字符串以查找它们是否存在于列表中吗?
我有一个包含 15000 个字符串的列表。如果它们存在于列表中,我必须检查大约 10000 个字符串。有什么其他(更快的)方法可以做到这一点?
谢谢。
【问题讨论】:
-
“如果是
list.contains("IJ"),我可以得到true吗?”当你尝试它时发生了什么? -
您是否必须知道它匹配的确切字词,还是只知道它匹配您的字词之一(不知道哪个字词)就足够了?
-
list.stream().anyMatch("yourstring"::contains)
-
Mahi:你有没有尝试过你自己的答案?这与 .contains() 完全没有区别。