Есть много коллекций, которые позволят вам делать что-то подобное. Например:
С Строками
:
String s = "I can has cheezeburger?";
boolean hasCheese = s.contains("cheeze");
или с Коллекциями
:
List<String> listOfStrings = new ArrayList<String>();
boolean hasString = listOfStrings.contains(something);
Однако подобной конструкции для простой Строки []
не существует. .
Вы можете использовать java.util.Collection.contains () для коллекций. Если у вас есть ненулевой массив, вы можете использовать java.util.Arrays.asList (array) .contains ().
Во-первых, это зависит от того, из чего состоит массив. Если это массив точных слов, вы можете преобразовать его в обычную коллекцию и использовать метод contains(). Если это массив предложений или фраз и т. д., вы должны перебрать его, чтобы сказать.
Наиболее общее решение, которое уловит все это, состоит в следующем.
for(String s : stringArray)
{
if(s.indexOf(word) > 0) return true;
}
return false;
Это просматривает каждую строку в массиве и проверяет, содержится ли в нем слово. Он вернет true после того, как будет найдено первое вхождение.
В Java нет оператора "in".
Для массивов вам необходимо выполнить итерацию и найти соответствующий элемент.
Для списков можно использовать метод contains
.
Если массив отсортирован, вы можете использовать Arrays.binarySearch для поиска данных.
Примерно так:
if (Arrays.binarySearch(stringArray, word)>=0) {
// word found in the array.
}
Если массив не отсортирован, в commons lang используется метод ArrayUtils.indexOf.
Наконец, если вы ищете в большом массиве, может оказаться целесообразным параллельный поиск с использованием ParallelArray
из JSR166, который появился в Java SE 7 и теперь доступен для загрузки. Эта статья содержит введение.
Расскажите, как выглядит ваша проблема и что вам нужно проверить. Есть несколько разных способов сделать что-то подобное. Если вам нужно продолжать спрашивать, находится ли элемент A в наборе B.. сделайте набор B равным HashSet, и вы можете очень быстро вызвать contains. Вы можете получить один и тот же эффект несколькими java-способами, но они будут различаться в зависимости от ваших данных и т. д.