欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在java List中進(jìn)行模糊查詢的實(shí)現(xiàn)方法

 更新時(shí)間:2016年11月12日 20:12:57   投稿:jingxian  
下面小編就為大家?guī)硪黄趈ava List中進(jìn)行模糊查詢的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

比如我有下面這樣一個(gè)List,里面存放的是多個(gè)Employee對(duì)象。然后我想對(duì)這個(gè)List進(jìn)行按照Employee對(duì)象的名字進(jìn)行模糊查詢。有什么好的解決方案么?

比如我輸入的查詢條件為“wang”,那么應(yīng)該返回只包含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;
}

上面那個(gè)是大小寫敏感的,如果要求大小寫不敏感,改成:

Pattern pattern = Pattern.compile(name,Pattern.CASE_INSENSITIVE);

并且上面那個(gè)是精確查詢,如果要模糊匹配,matcher.find()即可以進(jìn)行模糊匹配

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<list.size();i++){
System.out.println(((Employee)(list.get(i))).getName()+" "+((Employee)(list.get(i))).getAge());
}
}

//模糊查詢
public List likeString(String likename){
for(int i=0;i<list.size();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();


}

}

以上就是小編為大家?guī)淼脑趈ava List中進(jìn)行模糊查詢的實(shí)現(xiàn)方法全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • 詳解Java基礎(chǔ)篇--面向?qū)ο?(構(gòu)造方法,static、this關(guān)鍵字)

    詳解Java基礎(chǔ)篇--面向?qū)ο?(構(gòu)造方法,static、this關(guān)鍵字)

    這篇文章主要介紹了Java基礎(chǔ)篇--面向?qū)ο?(構(gòu)造方法,static、this關(guān)鍵字),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Spark操作之a(chǎn)ggregate、aggregateByKey詳解

    Spark操作之a(chǎn)ggregate、aggregateByKey詳解

    這篇文章主要介紹了Spark操作之a(chǎn)ggregate、aggregateByKey詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • MyBatis中的JdbcType映射使用詳解

    MyBatis中的JdbcType映射使用詳解

    這篇文章主要介紹了MyBatis中的JdbcType映射使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • java獲取指定開始時(shí)間與結(jié)束時(shí)間之間的所有日期

    java獲取指定開始時(shí)間與結(jié)束時(shí)間之間的所有日期

    這篇文章主要為大家詳細(xì)介紹了java獲取指定開始時(shí)間與結(jié)束時(shí)間之間的所有日期,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Spring事務(wù)的開啟原理詳解

    Spring事務(wù)的開啟原理詳解

    這篇文章主要介紹了Spring事務(wù)的簡單實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用spring,感興趣的朋友可以了解下
    2021-03-03
  • 詳解JAVA的控制語句

    詳解JAVA的控制語句

    這篇文章主要介紹了Java中的控制語句,循環(huán)等語句是Java編程中流程控制的基礎(chǔ),需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-11-11
  • Java之ThreadLocal使用常見和方式案例講解

    Java之ThreadLocal使用常見和方式案例講解

    這篇文章主要介紹了Java之ThreadLocal使用常見和方式案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java8使用Stream API方法總結(jié)

    java8使用Stream API方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于java8使用Stream API方法相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-04-04
  • JVM虛擬機(jī)查找類文件的順序方法

    JVM虛擬機(jī)查找類文件的順序方法

    下面小編就為大家分享一篇JVM虛擬機(jī)查找類文件的順序方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 淺談java中文本框和文本區(qū)

    淺談java中文本框和文本區(qū)

    本文給大家介紹的是java中的文本框和文本區(qū)的概念和使用方法,以及簡單的示例,十分實(shí)用,有需要的小伙伴可以參考下。
    2015-06-06

最新評(píng)論