检查集合中的String是否以另一个集合的String开头

时间:2015-12-18 12:44:43

标签: java string set

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

当然,我可以运行集合A并设置B并使用String的startsWith方法:

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

但我想知道是否有更快的方式?

1 个答案:

答案 0 :(得分:1)

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

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

如果经常使用此功能,它应该更快。