我有一个关于以高效的方式比较两个字符串数组的问题。我想知道stArr1中的哪个字符串包含了stArr2中的任何一个字符串。 如果是的话,我想要打印出我找到它的字符串和它在stArr1中的索引。
目前我得到的方法是比较两个字符串:
public class Main {
public static void main(String[] args) {
String[] stArr1 = {"I am testing", "hi", "bye bye"};
String[] stArr2 = {"hello", "bye", "test"};
int matches = 0;
for (int i = 0; i < stArr1.length; i++) {
for (int j = 0; j < stArr2.length; j++) {
if (stArr1[i].contains(stArr2[j])) {
System.out.println(stArr1[i] + "found at index " i);
}
}
}
}
}
因此,输出应为:在索引0处找到“I am testing”,在索引2处找到“bye bye”。有人知道更好的方法吗?我尝试了一点流处理,相信有比那更好的解决方案。