Как узнать, существует ли в массиве с именем bob без глупостей значение "глупо"?
Ответ 1
Вы можете использовать метод List#contains. Для этого вам нужно преобразовать массив в список. Вы можете использовать метод Arrays#asList(), чтобы:
String[] bob = { "this", "is", "a", "really", "silly", "list" };
if (Arrays.asList(bob).contains("silly")) {
// true
}
Ответ 2
Преобразуйте массив в список с помощью static Arrays.asList(T) и проверьте с помощью List.contains(Object), чтобы проверить, существует ли объект в перенастроенной коллекции.
Традиционным способом было бы перебирать массив и проверять каждый элемент, используя equals().
Ответ 3
Если вы собираетесь проверить его, вы можете найти более эффективным использование HashSet:
String[] bob = { "this", "is", "a", "really", "silly", "list" };
Set<String> silly = new HashSet<String>(Arrays.asList(bob));
boolean isSilly = silly.contains("silly");
Ответ 4
Вот простой способ сделать это:
ArrayList list = new ArrayList(Arrays.asList(bob ));
if (list.contains("silly")) {
// my array has silly !
}
Идея состоит в том, чтобы преобразовать ваш массив в объект ListArray.
но он будет потреблять дополнительную память, поэтому убедитесь, что она того стоит, прежде чем использовать ее.
Edit
Если вы после формообразования и сохранения памяти, вы можете использовать бинарный поиск algorthem:
таким образом вам не нужно выделять новые объекты:
Arrays.sort(array)
int value = Arrays.binarySearch(array, "silly");
if (value != -1) {
// my array has silly !
}