Вы ищете какие-нибудь слова в конкретной песне?Если это так, вам может не понадобиться набор для этого, вы можете запустить поиск только с того момента, как получили текст.Для этого вы можете использовать обычное регулярное выражение, это может быть немного быстрее, чем разбивать строку, помещать ее в набор и запрашивать набор:
public class RegexpExample {
public static void main(String[] args) {
String song = "Is this a real life? Is this just fantasy?";
String toFind = "is";
Pattern p = Pattern.compile(toFind, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(song);
while (m.find()) {
String found = m.group();
int startIndex = m.start();
int endIndex = m.end();
System.out.println(found + " at start " + startIndex + ", end " + endIndex);
//do something with this info...
}
}
Будет выведено следующее:
Is at start 0, end 2
is at start 5, end 7
Is at start 21, end 23
is at start 26, end 28
Если вы ищете в разных песнях, вы можете объединить их тексты, используя StringBuilder
, затем вызвать StringBuilder#toString
и выполнить всю операцию с результатом toString
метода