В Java мы можем объединить обычный цикл и .содержит()
, .начинается с ()
или .соответствует()
для поиска строки в Список массивов
.
package com.mkyong.test; import java.util.ArrayList; import java.util.List; public class JavaExample1 { public static void main(String[] args) { Listlist = new ArrayList<>(); list.add("Java"); list.add("Kotlin"); list.add("Clojure"); list.add("Groovy"); list.add("Scala"); List result = new ArrayList<>(); for (String s : list) { if (s.contains("Java")) { result.add(s); } /* if (s.startsWith("J")) { result.add(s); } */ /* regex if (s.matches("(?i)j.*")) { result.add(s); } */ } System.out.println(result); } }
Выход
[Java]
Для Java 8 теперь это намного проще.
package com.mkyong.test; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class JavaExample2 { public static void main(String[] args) { Listlist = new ArrayList<>(); list.add("Java"); list.add("Kotlin"); list.add("Clojure"); list.add("Groovy"); list.add("Scala"); List result = list .stream() .filter(x -> x.contains("Java")) .collect(Collectors.toList()); System.out.println(result); } }
Выход
[Java]
Рекомендации
- Строка.соответствует JavaDoc
- Строка.начинается с javadoc
- Строка.содержит JavaDoc
- Примеры фильтров потоков Java 8
- Список языков JVM в Википедии
Оригинал: “https://mkyong.com/java/java-how-to-search-a-string-in-a-list/”