在java中搜索包含数组中字符串的字符串

Moh*_*ani -3 java algorithm search android data-structures

考虑下面的字符串数组:
String[] items = new String[] {"Dani","Liam", "Noah" , "Elijah" , "Emma", "Ava Olivia"};
我想在这个数组中搜索。举个例子,我想找到所有以D开头或里面有一个D 的项目
当我搜索E 时,结果必须是{"Elijah","Emma"}并且当我搜索Em 时以利亚将删除并且结果必须是{"Emma"}
当我搜索Olivia 时,结果必须是{"Ava Olivia"}.
我试图用空格分割数组并将所有单词保存在二维数组中,然后我可以检查每个单词的第一个字母。我的方式有一些错误。
感谢您的所有建议。

PS :请注意,我正在开发一个需要此功能的 android 应用程序。

Tim*_*sen 5

一种方法使用带有过滤逻辑的流:

String[] items = new String[] {"Dani","Liam", "Noah" , "Elijah" , "Emma", "Ava Olivia"};
List<String> matches = Arrays.stream(items)
                             .filter(i -> i.startsWith("Em"))
                             .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

您可以在对 的调用中应用您想要的任何过滤逻辑filter(...)