Проверить объекты в коллекции в цикле

279
05 января 2017, 05:32

Есть класс SingleWord с полями String word, String alphabet, int icon. Есть коллекция ArrayList<SingleWord>, которая хранит объекты типа SingleWord. Как в цикле проверить, содержит ли переменная word каждого объекта коллекции слово str?

Answer 1

Если нужно проверить, содержит ли word каждого элемента списка подстроку "str", то можно так:

boolean contains = true;
for (SingleWord singleWord : words)
{
    if (!singleWord.word.contains("str"))
    {
        contains = false;
        break;
    }
}

При использовании Android SDK 24+:

boolean contains = words.stream().map(e -> e.word).allMatch(w -> w.contains("str"));
Answer 2
List <SingleWorld> matches = new ArraList <>();
for(SingleWord word : words //твой лист){
   if(word.getWord().contains(str)
       matches.add(word)  //изменять коллекцию, которая перебирается в цикле нельзя
}
//здесь делай всё что хочешь с этими данными
READ ALSO
Как определить началась ли новая строка в textarea ? с помощью JQ

Как определить началась ли новая строка в textarea ? с помощью JQ

Добрый день, мне нужно увеличивать rows в textarea и увеличивать высоту самого блока вверх, если началась новая строка (как в Skype)Можно ли проверить...

294
Экспорт &ldquo;шрифтовой&rdquo; графики из Photoshop

Экспорт “шрифтовой” графики из Photoshop

Как экспортировать графику из Photoshop, которая сделана шрифтом?

374