如何在ArrayList中搜索?

时间:2018-10-10 15:13:26

标签: java arraylist

我尝试按书名查找一本书。

假设存在“丛林”这本书。我想找到它,即使我搜索

  • “ JunGLE”:作品,
  • “钟”:作品
  • “ JunG”:不起作用。

希望您能理解。我使用matches在搜索中添加所有与该标题匹配的书。有谁知道如何解决这一问题?

public ArrayList<Book> search(String title){
    ArrayList<Book> matches = new ArrayList<>(); 
    for (Book b : Books){
        String s = b.getTitle();
        if(s.equalsIgnoreCase(title)||s.trim().contains(title))
            matches.add(b);
    }
    return matches;
}

1 个答案:

答案 0 :(得分:2)

contains是区分大小写的,因此,如果要进行不区分大小写的搜索,则一种常用的方法是将双方都设为相同的大小写(大小写无关紧要,只要您在两边都使用相同的内容。

s.trim().toUpperCase().contains(title.toUpperCase())