文章目录

  • 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;}@Overridepublic String toString() {return "Book{" +"booklist='" + booklist + '\'' +'}';}}
}

2.2示例结果

得到的结果就是

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

Java-集合当中进行模糊查找相关推荐

  1. Java集合源码分析(二)ArrayList

    ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线 ...

  2. java 面试 框架_这份java集合框架面试题,轻松搞定面试官!

    集合框架 1. ArrayList 和 Vector 的区别. 这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集 合,即存储在这两个集合中的元素的位 ...

  3. 【Java集合系列】---ArrayList

    开篇前言--ArrayList中的基本方法 前面的博文中,小编主要简单介绍java集合的总体架构,在接下来的博文中,小编将详细介绍里面的各个类,通过demo.对比,来对java集合类进行更加深入的理解 ...

  4. Java集合框架:HashMap

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  5. 浅入深出之Java集合框架(中)

    Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...

  6. Java集合(2)--Collection接口方法

    1.添加 add(Object obj) addAll(Collection coll) 2.获取有效元素的个数 int size() 在这里插入代码片 3.清空集合 void clear() 4.是 ...

  7. java集合概念_JAVA集合概念

    Java集合是使程序能够存储和操纵元素不固定的一组数据. 所有Java集合类都位于java.uti包中. 与Java数组不同,Java集合中不能存放基本数据类型,只能存放对象的引用.但是在JDK5.0 ...

  8. js 中转换成list集合_程序员:java集合介绍-List,具说很详细,你不来看看?

    Java集合介绍 作为一个程序猿,Java集合类可以说是我们在工作中运用最多.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加方便开发. Java集合就像一个容器,可以存储任何类型的数 ...

  9. c++怎么将两个类的方法集合成一个类的方法_一文帮你梳理 Java 集合

    集合在我们日常开发使用的次数数不胜数,ArrayList/LinkedList/HashMap/HashSet······信手拈来,抬手就拿来用,在 IDE 上龙飞凤舞,但是作为一名合格的优雅的程序猿 ...

  10. Java集合系列之四大常用集合(ArrayList、LinkedList、HashSet、HashMap)的用法

    Java集合系列之四大常用集合(ArrayList.LinkedList.HashSet.HashMap)的用法 ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是A ...

最新文章

  1. 前端笔试题面试题记录(上)
  2. javascript 传值给前端(ios 安卓)
  3. jQuery鼠标事件(转)
  4. torchvision 笔记:ToTensor()
  5. Jmeter之HTTP Request Defaults
  6. 使用PaddleFluid和TensorFlow训练RNN语言模型
  7. echarts 4.0.4怎么下载_怎么让ECharts的提示框tooltip自动轮播?
  8. HDU-1518 Square dfs+剪枝
  9. Windows服务器管理(4)——WinServer2008/2008R2系统 安装AD域控及DNS服务器
  10. 和菜鸟一起深入学习国嵌实验之vim常用命令
  11. Atitit 2017年的技术趋势与未来的大技术趋势 1. 2017年的技术趋势 2 1.1. Web not native 2 1.2. 更加移动优先 ,,more spa 3 1.3. Ar
  12. LeetCode_16.22兰顿蚂蚁
  13. Relab Sonsig Rev-A 演示 华丽的混响插件
  14. 计算机考研自命题院校双非,计算机考研408——951211院校汇总
  15. 2021年全国计算机能力挑战赛C++决赛,题目分享
  16. 学习制作FlappyBird时遇到的问题
  17. 教程:实现WinUSB通信系统的最简单的方式
  18. java tpl文件_解决Layui tpl模板渲染文件上传不起作用
  19. 无线电能传输LCL-S拓扑/WPT MATLAB/simulink仿真模型 (模型左边为两电平H桥逆变器,LCL-S串联谐振,右边不可控整流结构)
  20. Altium Designer 21的使用(四):排针类元件模型的创建

热门文章

  1. Paper写作查重需要注意哪些问题?
  2. 高效删除Oracle数据库中重复数据,并保留最新一条的方法
  3. OSPF ISIS RIP实现总公司与分公司等的互联
  4. 计算机网络,c语言,电子
  5. linux中的lnk格式,ink文件扩展名,ink文件怎么打开?
  6. stm32F103C8T6控制DHT11
  7. POI生成word文档,包括标题,段落,表格,统计图(非图片格式)
  8. 你拥有的最宝贵的财富是什么?
  9. python异常常见处理
  10. 计算机管相关论文,计算机管理论文