Person类
public class Person{
private Integer id;
private String name;
private Integer age;
private int sex;
public void setId(Integer id){
this.id = id;
}
public Integer getId(){
return id;
}
public void setName(Integer id){
this.name = name;
}
public Integer getName(){
return name;
}
public void setAge(Integer id){
this.age = age;
}
public Integer getAge(){
return age;
}
public void setSex(Integer id){
this.sex = sex;
}
public Integer getSex(){
return sex;
}
}
java流处理+String.contains(CharSequence s)实现集合数据模糊查询
String name = "我的CsDn".toLowerCase(); //不区分大小写
List<Person> Result = Person.stream()
.filter(e -> e.getName().toLowerCase().contains(name))
.collect(Collectors.toList());
java流处理+pattern.compile(String regex, int flag)实现集合数据模糊查询
//ps: 这种方法如果name中存在‘+’号需要进行转义或者直接删除,不然就会报错。
String name = "我的CsDn+".replaceAll("+","\\+");
//flag参数(Pattern.CASE_INSENSITIVE)表示不区分大小写
Pattern pattern = Pattern.compile(name, Pattern.CASE_INSENSITIVE);
List<Person> Result = Person.stream()
.filter(e -> pattern.matcher(e.getName()).find())
.collect(Collectors.toList());
两种方法都是本人奇思妙想偶尔发现,不排除网络上已经存在的可能,如有不妥请告知。