实现目标
image.png
朋友让实现在后台代码中实现模糊查询;
上代码
public class demoTest {
List userzList = Lists.list( new Userz("chen",10),
new Userz("liu",9),
new Userz("han",20));
String searchName = "h";
// 是否全部匹配,还是 局部包含匹配
Boolean globalMatch = Boolean.FALSE;
int pageNum = 1; //获取当前页
int pageCount = 2; // 一页返回多少条
@Test
public void search(){
List rUseres = userzList.stream().filter(userz -> globalMatch?userz.getName().equals(searchName):
userz.getName().contains(searchName)).
sorted(Comparator.comparing(Userz::getAge)).// 按年纪升序 排序
collect(Collectors.toList());
//一页 返回一条
List pageList = rUseres.stream().skip((pageNum-1)*pageCount).limit(pageCount).collect(Collectors.toList());
System.out.println("返回总条数:"+rUseres.size()+"当前页为:"+pageNum+"每页显示条数:"+pageCount);
System.out.println("本次返回的数据为:");
pageList.forEach(System.out::println);
}
}
class Userz{
private String name;
private Integer age;
public Userz(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Userz{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}