二分探索を使用して、部分文字列を含む文字列を検索しようとしています。
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);
ループを使用する代わりにバイナリサーチを使用することは可能ですか? これは私に間違ったインデックスを与えています。
x と y が固定値である string.substring(x,y) の使用を避けようとしています。