Boyer-Moore なぜJDKでStringクラスのindexofはKMPやBoyer-Mooreなどの時間的複雑度の低いアルゴリズムを使用しないのかString文字列KMPindexOfBoyer-Moore