Как проверить arraylist содержит это конкретное слово в android?

У меня есть ArrayList<String> в котором я добавил 3-4 названия сайтов. Например, http://www.google.com , https://www.stackoverflow.com и т. Д. Теперь в моем приложении, если я набираю просто «google», тогда я хочу сравнить это слово «google» с ArrayList<String> .

Я застрял здесь. Может ли кто-нибудь сказать мне, как я могу сравнить строку с объектом массива?

Заранее спасибо.

Для этого вам необходимо переопределить реализацию contains() . Я даю вам простой пример.

Пользовательский класс ArrayList

 public class MyArrayList extends ArrayList<String> { private static final long serialVersionUID = 2178228925760279677L; @Override public boolean contains(Object o) { return indexOf(o) >= 0; } @Override public int indexOf(Object o) { int size = this.size(); if (o == null) { for (int i = 0; i < size ; i++) { if (this.get(i) == null) { return i; } } } else { for (int i = 0; i < size ; i++) { if (this.get(i).contains(String.valueOf(o))) { return i; } } } return -1; } } 

Как использовать

 MyArrayList arrayList = new MyArrayList(); arrayList.add("http://www.google.com"); arrayList.add("https://www.stackoverflow.com"); arrayList.add("http://pankajchunchun.wordpress.com"); if (arrayList.contains("google")) { System.out.println("ArrayList Contains google word"); } if (arrayList.contains("igoogle")) { System.out.println("ArrayList Contains igoogle word"); } else { System.out.println("ArrayList does not Contains igoogle word"); } 

Ниже приведен пример кода выше.

 ArrayList Contains google word ArrayList does not Contains igoogle word 

См. Исходный код ArrayList для большей пользовательской реализации.

ArrayList.contains() проверяет строку на равные. Из документации:

Public boolean contains (Object o) Возвращает true, если этот список содержит указанный элемент. Более формально возвращает true тогда и только тогда, когда этот список содержит хотя бы один элемент e такой, что (o == null? E == null: o.equals (e)).

пример:

 boolean contains = yourArrayListInstance.contains(yourString); 

Редактировать. Если вы хотите проверить подстроку, вам нужно зациклиться на содержимом ArrayList и вызвать String.contains

Используйте вспомогательную функцию, подобную этой

 public static boolean containsSubString(ArrayList<String> stringArray, String substring){ for (String string : stringArray){ if (string.contains(substring)) return true; } return false; } 

Вы можете выполнить итерацию через ArrayList<String> например

 public String getWebsiteName(String toMatchString) { ArrayList<String> yourArrayList = new ArrayList<String>(); for (String webSiteName : yourArrayList) { if (webSiteName.contains(toMatchString)) return webSiteName; } return null; } 

И получить соответствующую String

Intereting Posts
Как я могу играть в mp3 без загрузки с URL? Страница поиска и преобразования страниц на странице Android. Преобразование в черно-белый Onclick on view пейджер в android не работает в моем коде Нижний лист акций в Android Как центрировать кнопку панели инструментов? MediaStore.Images.Thumbnails.getThumbnail возвращает неверный миниатюру вместо NULL Получение друзей с помощью facebook-android-SDK Использование генератора стиля Action bar с генератором голографических цветов Использовать AudioTrack с помощью AudioManager setSpeakerphoneOn Получить тег NFC с помощью приложения NDEF для приложений Android (AAR) Очистка ActionBarSherlock создает R не может быть устранена ошибка Статическая переменная в нескольких разных подклассах – исправлена Использовать широковещательный приемник для улавливания входящего вызова, onReceive не срабатывает? Когда я нажимаю кнопку «DONE» на softkeybord, как перейти к следующей активности Android Получить представление из пользовательских настроек