Java 如何在ArrayList中搜索包含多个单词的字符串?

Java 如何在ArrayList中搜索包含多个单词的字符串?,java,arraylist,Java,Arraylist,我的搜索方法适用于一个单词字符串,但不适用于两个或更多单词 我应该检查一下标题OfID是否与DVD中的标题匹配 ArrayList<DVD>DVDlist 我不知道如何处理这个问题 您的主要问题是,在第一次匹配(循环中的return语句)时停止搜索。下面是返回包含所有匹配项的列表的示例 public List<DVD> search(String titleToFind) { List<DVD> matches = new ArrayList<

我的搜索方法适用于一个单词字符串,但不适用于两个或更多单词

我应该检查一下标题OfID是否与DVD中的标题匹配

ArrayList<DVD>DVDlist

我不知道如何处理这个问题

您的主要问题是,在第一次匹配(循环中的return语句)时停止搜索。下面是返回包含所有匹配项的列表的示例

public List<DVD> search(String titleToFind) {
    List<DVD> matches = new ArrayList<DVD>();    
    for (DVD dvdEntry : DVDlist) {
        if (dvdEntry.GetTitle().equalsIgnoreCase(titleToFind)) {
            matches.add(dvdEntry);
        }
    }

    return matches;
}
如果不允许使用列表,则可以返回int(匹配数)或csv匹配数

public List<DVD> search(String titleToFind) {
    List<DVD> matches = new ArrayList<DVD>();    
    for (DVD dvdEntry : DVDlist) {
        if (dvdEntry.GetTitle().equalsIgnoreCase(titleToFind)) {
            matches.add(dvdEntry);
        }
    }

    return matches;
}
公共列表搜索(字符串titletofid){
列表匹配项=新的ArrayList();
用于(DVD输入:DVD列表){
if(dvdEntry.GetTitle().equalsIgnoreCase(titletOfId)){
匹配。添加(DVD条目);
}
}
返回比赛;
}

equalsIgnoreCase
不关心字符串的字数。如果他们是平等的,他们就是平等的。也许你正在寻找
包含的
?一种方法是将找到的标题保存在另一个ArrayList中并返回它。我同意NilsH。如果无法找到包含多个单词的字符串,那么问题不在于搜索函数,而在于其他方面,我们需要看到更多带有示例输入/结果的代码。根据答案,存在一些混淆。问题是您无法从搜索中获得多个结果,或者当您使用多个单词时,您的搜索与任何内容都不匹配?我看不出您的代码有任何错误,您能给我们一个字符串不起作用的示例吗?我不知道我可以使用其他字符串ArrayList@trama:你能解释一下为什么不允许你吗?