日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java list 模糊查询_如何在java List中进行模糊查询(示例代码)

發布時間:2024/3/13 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java list 模糊查询_如何在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()即可以進行模糊匹配

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;

}

方式二:

public class ListLike {

//定義員工類

public class Employee {

private String name;

private int age;

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

public List list=new ArrayList();

//增加員工

public List addList(String name,int age){

Employee employee1 = new Employee();

employee1.setName(name);

employee1.setAge(age);

list.add(employee1);

return list;

}

//顯示所有員工

public void ShowList(){

for(int i=0;i

System.out.println(((Employee)(list.get(i))).getName()+" "+((Employee)(list.get(i))).getAge());

}

}

//模糊查詢

public List likeString(String likename){

for(int i=0;i

if(((Employee)(list.get(i))).getName().indexOf(likename)<=-1)

list.remove(i);

}

return list;

}

public static void main(String arg[]){

ListLike ll=new ListLike();

ll.addList("wuxiao",13);

ll.addList("wangwang",11);

ll.addList("wanghua",12);

ll.addList("xiaowang",13);

ll.addList("xiaoxiao",13);

ll.likeString("wang");

ll.ShowList();

}

}

總結

以上是生活随笔為你收集整理的java list 模糊查询_如何在java List中进行模糊查询(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。