首页 > 解决方案 > 在java中的数组中搜索包含字符串的字符串

问题描述

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

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

标签: javaandroidalgorithmsearchdata-structures

解决方案


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

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());

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


推荐阅读