比如我有下面这样一个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;
}

最新文章

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

热门文章

  1. nginx 的一些优化
  2. 每天学点Linux-切割命令split
  3. 分析“HTTP500内部服务器错误”解决方法
  4. 【python】装饰器详解推荐
  5. 【GIS】无人机相关技术(转)
  6. array_walk与array_map的区别
  7. web.py框架之高级应用
  8. 我永远无法学会的dp
  9. hdu2074 叠筐
  10. react 使用 lazyload 懒加载图片