у меня есть:Как сравнить список строк до нескольких строк
String[] Value={"Available to trade at 12 30","I love sherlock"}
и я хочу, чтобы проверить, если шерлок присутствует в списке без использования for each
цикла.
у меня есть:Как сравнить список строк до нескольких строк
String[] Value={"Available to trade at 12 30","I love sherlock"}
и я хочу, чтобы проверить, если шерлок присутствует в списке без использования for each
цикла.
Вы можете сделать что-то вроде этого
Arrays.asList (Value) .Contains ("строка для поиска");
Лучше вариант, чтобы преобразовать массив в список, так что несколько функций могут быть использованы
Это не дает решения о том, как получить «sherlock», хотя –
Оформить заказ http://ideone.com/oeZb7a –
Просьба указать код в своем ответе, а не как ссылку –
Проблема неотъемлемо требует перебора всех элементов в массиве, по существу, выполняя для каждого. Однако вы можете выбрать, хотите ли вы хорошую производительность памяти или хорошее время выполнения для поиска.
Если вы хотите, чтобы хорошая производительность памяти оставила его как есть и перебирать список каждый раз, когда вы выполняете чек. Для хорошего времени выполнения вы должны создать хешсет и заполнить его каждой подстрокой, присутствующей в списке. Это требует много времени и памяти, но после того, как вы создали свой набор, вы можете сохранить его и повторно использовать, чтобы каждая проверка времени выполнения выполняла только время входа в систему.
Вы можете преобразовать массив в одну строку, а затем использовать метод String .contains.
String entireArray = Arrays.toString(Value);
boolean sherlockPresent = entireArray.contains("sherlock");
Java потоки удобны для этого
String[] value = {"Available to trade at 12 30", "I love sherlock"};
Stream.of(value).anyMatch(s -> s.contains("sherlock"));
Если вы хотите, чтобы получить строку, которая имеет Шерлока:
String[] value = {"Available to trade at 12 30", "I love sherlock"};
Stream.of(value).filter(s -> s.contains("sherlock")).findFirst().get();
Или использовать findAny(), если вы не заботитесь о заказе. Оба findAny и findFirst возвращают Необязательный, который будет пуст, если совпадений нет, а .get() будет бросать.
У вас есть * массив *. Итерация через контейнер и использование 'contains()' – TheLostMind
«sherlock» в массиве отсутствует. Он присутствует * в пределах элемента * массива ... –
Как по комментарию @ cricket_007 вы хотите найти строку в массиве или массиве элемента? – soorapadman