如何在java List中进行模糊查询
2024-08-28 15:08:16
比如我有下面这样一个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;
}
最新文章
- 如何执行一条命令在C#里面。Process
- php运行出现Call to undefined function curl_init()的解决方法
- linux vagrant visual box 虚拟机比较慢
- ListView的LayoutParams设置
- HashMap的两种遍历方式
- poj2135
- windows服务1053错误排查
- Java对象的内存布局以及对象所需内存大小计算详解
- JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
- c# asp.net mvc4 使用uploadify插件实现上传功能
- js实现bind方法
- 推荐 3 篇关于 java8 Lambda表达式的文章
- MySQL语句_积累
- pythonz之__new__与__init__
- for...in的改进版for...of
- python 常用模块之random,os,sys 模块
- hihoCoder #1106 : Koch Snowflake 微软苏州校招笔试(1月17日)
- 学习Java JDBC,看这篇就够了
- php zip扩展的一些基本操作
- 简单的redis缓存操作(get、put)