@stas0909

Как найти фрагмент элемента масива в Java?

У меня есть ArrayList, по циклу прибавляю к нему строки, все строки разные, но в некоторых имя и фамилии совпадают. мне нужно одинаковые не записывать , использую array.contains(string), но не работает, он просто пропускает все записи, что я делаю не так?

Вот так примерно выглядит лист:
array [0] = 1|Иванов|Иван|sdhfj|fjdkfhjdf|sdsd|;
array[1] = 2|Петров|Петро|sdsd|sdsd|sdfsd|;

а вот так строка которую надо проверить:
String string = "Петров|Петро";

вот так думал будет работать:

if (!array.contains(string)){
int i = i +1;
   array.add(i + "|" + string + string2);}


но не работает(
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Constable
array.contains будет находить только ссылки на строки, которые уже существуют (полные совпадения).
Из постановки задачи следует, что надо найти подстроку.
Для этого надо использовать String.contains в цикле, или в Stream:
if (array.stream().filter(s -> s.contains(string)).count() > 0)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы