Java-集合当中进行模糊查找

文章目录

  • List集合中模糊查询
    • 1.说明
    • 2.示例
      • 2.1示例代码
      • 2.2示例结果

List集合中模糊查询

1.说明

如何在List集合中进行模糊查找。集合当中的用法大致一样,下面演示在List集合的ArrayList集合下的模糊查找方式。

拥有大小写敏感与大小写不敏感的方法,下面就是不敏感的使用方式:

public ArrayList search(String name,ArrayList arrayList){
     
   ArrayList arraySearch = new ArrayList();
    //该处决定大小写是否敏感
   Pattern pattern = Pattern.compile(name,Pattern.CASE_INSENSITIVE);
   for(int i=0; i < arrayList; i++){
     
      Matcher matcher = pattern.matcher(((Employee)arrayList.get(i)).getName());
      if(matcher.matches()){
     
         arraySearch.add(list.get(i));
      }
   }
   return arraySearch;
}

若要换成敏感就把:

Pattern pattern = Pattern.compile(name,Pattern.CASE_INSENSITIVE);

改成即可:

Pattern pattern = Pattern.compile(name);

2.示例

2.1示例代码

下面就是一个完整的示例:

public class Demo1{
     
    public static void main(String[] args) {
     
        Scanner input = new Scanner(System.in);
        //用于存储原始数据
        ArrayList<Book> arrayList = new ArrayList<>();
        //用于存储查找的的数据
        ArrayList<Book> arraySearch = new ArrayList<>();
        
        //把数据存入集合
        Book book1 = new Book("平凡的世界");
        Book book2 = new Book("月亮与六便士");
        Book book3 = new Book("平凡的六便士");
        Book book4 = new Book("月亮与世界");
        Book book5 = new Book("平凡的世界和月亮与六便士");
        arrayList.add(book1);
        arrayList.add(book2);
        arrayList.add(book3);
        arrayList.add(book4);
        arrayList.add(book5);

        //开始模糊查找数据
        System.out.println("请输入您需要查找的图书名称:");
        String lookBook = input.nextLine();
        Pattern pattern = Pattern.compile(lookBook,Pattern.CASE_INSENSITIVE);
        for(int i=0;i<arrayList.size();i++){
     
            Matcher matcher = pattern.matcher(arrayList.get(i).getBooklist());
            if(matcher.find()){
     
                //把找到的图书放入arraySearch集合
                arraySearch.add(arrayList.get(i));
            }
        }
        //使用foreach进行迭代
        for (Book a:arraySearch) {
     
            System.out.println(a);
        }
    }
    //创建的Book类
    public static class Book{
     
        private String booklist;

        public Book() {
     
        }
        
		//全参构造方法
        public Book(String booklist) {
     
            this.booklist = booklist;
        }

        public String getBooklist() {
     
            return booklist;
        }

        public void setBooklist(String booklist) {
     
            this.booklist = booklist;
        }

        @Override
        public String toString() {
     
            return "Book{" +
                    "booklist='" + booklist + '\'' +
                    '}';
        }
    }
}

2.2示例结果

得到的结果就是

请输入您需要查找的图书名称:
平凡
Book{
     booklist='平凡的世界'}
Book{
     booklist='平凡的六便士'}
Book{
     booklist='平凡的世界和月亮与六便士'}

你可能感兴趣的:(知识分享类,java)