2015-12-18 133 views
-1

假设我们有两组名为A和B的字符串。现在我想检查一组字符串B是否以集合A中的任何字符串开头:无论哪个字符串匹配,都只是一个布尔方法。检查一组中的字符串是否以另一组字符串开始

当然,我可以通过设置运行,并设置B和使用字符串的方法startsWith:

for (String a: A) 
    for (String b: B) 
    if (b.startsWith(a)) 
      return true; 
return false; 

但我不知道是否有任何更快的方法?

+4

你的代码在哪里? –

+0

我的支票不取决于A或B的顺序。 –

+0

@JFMeier是的。顺序并不重要。 –

回答

1

如果您可以使用的TreeSet A代替Set A你应该使用这样的事情(我不检查这个例子):

for (String b: B) { 
    String a = A1.ceiling(b); 
    if(a != null && a.startsWith(b)) 
     return true; 
} 
return false; 

这应该是更快,如果你经常使用此功能。

相关问题