如何在java List中进行模糊查询
比如我有下面这样一个List,里面存放的是多个Employee对象。然后我想对这个List进行按照Employee对象的名字进行模糊查询。有什么好的解决方案么?
比如我输入的查询条件为“wang”,那么应该返回只包含employee1的List列表。
List list = new ArrayList();
Employee employee1 = new Employee();
employee1.setName("wangqiang");
employee1.setAge(30);
list.add(employee1);
Employee employee2 = new Employee();
employee2.setName("lisi");
list.add(employee2);
employee2.setAge(25);
方式一:
public List search(String name,List list){
List results = new ArrayList();
Pattern pattern = Pattern.compile(name);
for(int i=0; i < list.size(); i++){
Matcher matcher = pattern.matcher(((Employee)list.get(i)).getName());
if(matcher.matches()){
results.add(list.get(i));
}
}
return results;
}
上面那个是大小写敏感的,如果要求大小写不敏感,改成:
Pattern pattern = Pattern.compile(name,Pattern.CASE_INSENSITIVE);
并且上面那个是精确查询,如果要模糊匹配,matcher.find()即可以进行模糊匹配
上面那个是大小写敏感的,如果要求大小写不敏感,改成:
Pattern pattern = Pattern.compile(name,Pattern.CASE_INSENSITIVE);
并且上面那个是精确查询,如果要模糊匹配,matcher.find()即可以进行模糊匹配
public List search(String name,List list){
List results = new ArrayList();
Pattern pattern = Pattern.compile(name);
for(int i=0; i < list.size(); i++){
Matcher matcher = pattern.matcher(((Employee)list.get(i)).getName());
if(matcher.find()){
results.add(list.get(i));
}
}
return results;
}
如何在java List中进行模糊查询的更多相关文章
- java mybatis 中sql 模糊查询
示例: like concat('%',#{groupName},'%') //-------------- <select id="findList" resultType ...
- java使用elasticsearch进行模糊查询-已在项目中实际应用
java使用elasticsearch进行模糊查询 使用环境上篇文章本人已书写过,需要maven坐标,ES连接工具类的请看上一篇文章,以下是内容是笔者在真实项目中运用总结而产生,并写的是主要方法和思路 ...
- Mybatis中的模糊查询
今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经过搜索 ...
- Java数据库学习之模糊查询(like )
Java数据库学习之模糊查询(like ): 第一种方式:直接在SQL语句中进行拼接,此时需要注意的是parm在SQL语句中需要用单引号拼接起来,注意前后单引号之间不能空格 String sql = ...
- mongo中的模糊查询
以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录 { "_ ...
- mysql中的模糊查询
转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...
- MySQL中的模糊查询和通配符转义
MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...
- 【Django】Django中的模糊查询以及Q对象的简单使用
Django中的模糊查询: 需要做一个查找的功能,所以需要使用到模糊查询. 使用方法是:字段名加上双下划线跟上contains或者icontains,icontains和contains表示是否区分大 ...
- java之mybatis之模糊查询
1.在 mybatis 中,模糊查询可以有以下方式 (1).第一种,直接将封装好的条件传给 sql 语句 <select id="findByName" parameterT ...
随机推荐
- Http url MVC Request Query Form 传参专贴
一.工具区 [参考]postman中 form-data.x-www-form-urlencoded.raw.binary的区别--转 二..net MVC 三..net WebForm 四.Java ...
- sql知识点记录
order by就是排序. group by就是分组. WHERE语句在GROUP BY语句之前:SQL会在分组之前计算WHERE语句. HAVING语句在GROUP BY语句之后:SQL会在分 ...
- elasticsearch 6.1.1 transport jar
https://files.cnblogs.com/files/xjyggd/transport6.1.1.rar
- thymeleaf入门和学习
springboot框架不推荐使用jsp,一方面是兼容性的技术问题,一方面也是其前后端整合在一起,很难适合当下大规模的网站开发环境.HTML只是一种标记语言,并不具有获取model中数据的功能,所以视 ...
- 下载Crypto,CyCrypto,PyCryptodome 报错问题
python下载Crypto,CyCrypto,PyCryptodome,如有site-packages中存在crypto.pycrypto,在pip之前,需要pip3 uninstall crypt ...
- hibernate的merge()
映射文件中的主键如果用sequence序列,需要指定序列名,如果不指定,则会自动使用hibernate_sequence(需要自己创建) getCurrentSession()方法获得的session ...
- phpmyadmin新姿势getshell
旁白:在一个有WAF.并且mysql中的Into outfile禁用的情况下,我该如何getshell? 作者:倾旋email:payloads@aliyun.com投稿联系:service@cora ...
- 27.用webpack自搭react和vue框架
自己搭建react-app vue-cli 前置条件 cnpm i -D webpack webpack-cli webpack-dev-server cnpm i -D css-loader sty ...
- windows安装tomcat
1.打开官网http://tomcat.apache.org/ 2.在左侧的导航栏Download下方选择最新的Tomcat 9,点击页面下方的“ 64-bit Windows zip (pgp, m ...
- 如果报错,使用 journalctl -f -t etcd 和 journalctl -u etcd 来定位问题。
如果报错,使用 journalctl -f -t etcd 和 journalctl -u etcd 来定位问题.