当前位置: 首页 > news >正文

低价网站建设为您公司省去了什么整站seo怎么做

低价网站建设为您公司省去了什么,整站seo怎么做,网站底部备案字体设置,做网站很累通过stream实现分页、模糊搜索、按列过滤功能 背景逻辑展示示例代码 背景 在有一些数据通过数据库查询出来后,需要经过一定的逻辑处理才进行前端展示,这时候需要在程序中进行相应的分页、模糊搜索、按列过滤了。这些功能通过普通的逻辑处理可能较为繁琐…

通过stream实现分页、模糊搜索、按列过滤功能

  • 背景
  • 逻辑展示
  • 示例代码

背景

在有一些数据通过数据库查询出来后,需要经过一定的逻辑处理才进行前端展示,这时候需要在程序中进行相应的分页、模糊搜索、按列过滤了。这些功能通过普通的逻辑处理可能较为繁琐,但是通过stream流处理会简单很多

逻辑展示

这是一个写好的模板,感觉也可以根据这个写成一个通用的处理,后面如果再用的就补充一下
在这里插入图片描述
代码解释
①:将完成数据处理的list重新构成一个新的list,当然,里面的数据引用是一样的,但是新list可以对其增删改了
②:设置分页的总数,前端经常会用到这个值。
③:模糊搜索,获取前端传入的模糊搜索值
④:这里可以支持两个字段的模糊搜索,使用filter结合||运算得到结果
⑤:按列过滤,这里也是通过filter函数,其中代码处理如下:
在这里插入图片描述
按列过滤和模糊搜索类似,但是传入的是一个map<k,v>,k为这个字段名,v为模糊搜索内容。然后遍历这个map。如果能和filter中的对象值匹配到,保留,如果都匹配不到则丢弃。最后返回这个list
因为过滤完成后的大小会变,所以total重新设置

⑥:排序,排序也可以做出按列排序的方式,使用sorted方法,其中的参数需要一个compartor类型,自定义sortBy()方法生成如下:
在这里插入图片描述
对其中的字段进行排序,分别有string、数值类以及默认排序,排序方式desc或者asc等,如果要加时间类或者其他类型,需要手动实现comparter接口构造比较方式了。

⑦分页:分页将传入的当前页和每页显示数目通过skip和limit函数实现,较为简单
⑧结果保存及返回

示例代码

public class Person {private String name;private int age;private String city;// 构造函数、getter和setter方法
}
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;public class PersonStreamExample {public static void main(String[] args) {List<Person> persons = getSampleData(); // 获取示例数据// 分页int pageSize = 10;int pageNumber = 1;List<Person> page = persons.stream().skip((pageNumber - 1) * pageSize).limit(pageSize).collect(Collectors.toList());// 按列过滤String filterColumn = "city";String filterValue = "New York";List<Person> filtered = persons.stream().filter(person -> filterColumn.equals("name") && person.getName().contains(filterValue)).filter(person -> filterColumn.equals("age") && person.getAge() >= Integer.parseInt(filterValue)).filter(person -> filterColumn.equals("city") && person.getCity().equals(filterValue)).collect(Collectors.toList());// 模糊搜索String keyword = "John";List<Person> searchResults = persons.stream().filter(person -> person.getName().contains(keyword) || person.getCity().contains(keyword)).collect(Collectors.toList());// 按列排序String sortColumn = "age";List<Person> sorted = persons.stream().sorted(Comparator.comparingInt(person -> {if (sortColumn.equals("name")) {return person.getName().hashCode();} else if (sortColumn.equals("age")) {return person.getAge();} else if (sortColumn.equals("city")) {return person.getCity().hashCode();} else {return 0;}})).collect(Collectors.toList());}// 获取示例数据private static List<Person> getSampleData() {// 创建和返回示例数据的逻辑}
}

后续有使用,补充提取为通用方法的内容

http://www.yayakq.cn/news/181667/

相关文章:

  • 和文化有关的吉网站建设模板温州15000 做网站的工作
  • 免费个人网站怎么建立如何自己做小程序免费
  • 男朋友抱着我在教室做网站wordpress改模版
  • 国外 网站页面设计基本网站怎么做
  • 邢台当地网站建设聊城网站seo
  • 自助建站工具网站制作公司嘉兴
  • 济南网站制作企业上海网站建设案例
  • 杭州网站制作建设智慧团建电脑版登录入口
  • 高端 网站建设常州网站备案
  • 做网站建设的名声很差吗怎样在各大网站做有效的宣传
  • 一般专业网站建设公司邢台无忧网站建设公司
  • 建设网站个人银行php网站在线打包源码
  • 南京网站设计公司排名南通网站建设找哪家
  • wordpress手机导航条怎么做怎样优化网站
  • 网站首页html代码在哪中国互联网金融协会平台官网
  • 枣阳网站开发公司哪家好红动中国素材网免费下载
  • 遵义 网站建设专业电商网站建设哪家好
  • 哪些网站做企业招聘不要花钱加工订单网
  • 现在主流的网站开发平台有哪些苏州seo关键词优化推广
  • 做pc网站如何实时预览谈谈对网站建设的认识
  • 外贸建站 宁波佛山seo按效果付费
  • 广州建设局官方网站网络广告网站
  • 叫别人做网站要多久wordpress 弹图插件
  • 做美团网站代码小程序商城使用教程
  • sharepoint网站开发重庆建设银行官方网站首页
  • 个人博客模板网站465端口 WordPress
  • 汕尾英文网站建设seo权重优化软件
  • 学网页设计报班android优化大师
  • 义乌外贸网站建设公司免费设计图
  • 网站正在建设中色综合邓州网站建设