最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在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)文章

  • 剖析SpringCloud Feign中所隱藏的坑

    剖析SpringCloud Feign中所隱藏的坑

    這篇文章主要為大家介紹了剖析SpringCloud Feign中所隱藏的坑示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 基于java中的null類型---有關(guān)null的9件事

    基于java中的null類型---有關(guān)null的9件事

    這篇文章主要介紹了java中的null類型---有關(guān)null的9件事,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • JDK1.8新特性之方法引用 ::和Optional詳解

    JDK1.8新特性之方法引用 ::和Optional詳解

    這篇文章主要介紹了JDK1.8新特性之方法引用 ::和Optional,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 一篇文章帶你入門java集合

    一篇文章帶你入門java集合

    Java的集合類型都是對(duì)java.util包中Collection接口的繼承,這里我們主要介紹依賴于collection的一些主分支,一起來看一下Java中的collection集合類型總結(jié)
    2021-08-08
  • Java最簡潔數(shù)據(jù)結(jié)構(gòu)之冒泡排序快速理解

    Java最簡潔數(shù)據(jù)結(jié)構(gòu)之冒泡排序快速理解

    冒泡排序是編程中數(shù)據(jù)結(jié)構(gòu)繞不過的一個(gè)基礎(chǔ)點(diǎn),有關(guān)于冒泡排序的文章也有很多,但可能會(huì)比較繚亂未能理解,本章將一子u為簡潔明了的例圖帶你通關(guān)冒泡排序
    2021-11-11
  • Java內(nèi)存緩存工具Guava LoadingCache使用解析

    Java內(nèi)存緩存工具Guava LoadingCache使用解析

    這篇文章主要介紹了Java內(nèi)存緩存工具Guava LoadingCache使用解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • JAVA中時(shí)間戳與LocalDateTime互相轉(zhuǎn)換代碼例子

    JAVA中時(shí)間戳與LocalDateTime互相轉(zhuǎn)換代碼例子

    最近在編碼過程中遇到將時(shí)間戳轉(zhuǎn)化為 LocalDateTime,所以這里給總結(jié)下,這篇文章主要給大家介紹了關(guān)于JAVA中時(shí)間戳與LocalDateTime互相轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Java中List轉(zhuǎn)Map List實(shí)現(xiàn)的幾種姿勢(shì)

    Java中List轉(zhuǎn)Map List實(shí)現(xiàn)的幾種姿勢(shì)

    本文主要介紹了Java中List轉(zhuǎn)Map List實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Spring MVC 中攔截器的使用示例詳解"攔截器基本配置"和 "攔截器高級(jí)配置"

    Spring MVC 中攔截器的使用示例詳解"攔截器基本配置"和 &q

    Spring MVC 的攔截器作用是在請(qǐng)求到達(dá)控制器之前或之后進(jìn)行攔截,可以對(duì)請(qǐng)求和響應(yīng)進(jìn)行一些特定的處理,這篇文章主要介紹了Spring MVC 中的攔截器的使用“攔截器基本配置” 和 “攔截器高級(jí)配置”,需要的朋友可以參考下
    2024-07-07
  • 解決java.sql.SQLException:?validateConnection?false問題的方法匯總(最全)

    解決java.sql.SQLException:?validateConnection?false問題的方法匯總(最

    這篇文章主要給大家介紹了關(guān)于解決java.sql.SQLException:?validateConnection?false問題的方法匯總,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03

最新評(píng)論

平泉县| 民乐县| 垦利县| 鄱阳县| 凤山市| 福鼎市| 博罗县| 河南省| 会同县| 焦作市| 河北省| 罗江县| 汕尾市| 密山市| 平利县| 时尚| 宁强县| 张家界市| 平原县| 赤城县| 茂名市| 卢龙县| 武城县| 古蔺县| 台东县| 江安县| 博野县| 泸州市| 潍坊市| 宜城市| 都兰县| 抚宁县| 万年县| 嘉祥县| 孝昌县| 章丘市| 周口市| 临邑县| 邯郸市| 乌兰县| 拜泉县|