我正在尝试使用二进制搜索来查找包含子字符串的字符串。
ArrayList<String> ch = new ArrayList<String>();
ch.add("qwerty");
ch.add("asdfghjkl");
ch.add("c");
ch.add("d");
ch.add("e");
Comparator<String> comparator = new Comparator<String>() {
public int compare(String node1, String node2) {
if (node1.contains(node2)) {
return 0;
}
return node1.indexOf(node2);
}
};
int pos2 = Collections.binarySearch(ch, "sdf", comparator);
是否可以使用二进制搜索而不是使用循环。这给了我一个不正确的索引。
我试图避免使用 string.substring(x,y) ,其中 x 和 y 是固定值。