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

观澜网站建设天津酒店网站制作

观澜网站建设,天津酒店网站制作,开发网站软件,wordpress 站群插件简介在之前的java collectors文章里面#xff0c;我们讲到了stream的collect方法可以调用Collectors里面的toList()或者toMap()方法#xff0c;将结果转换为特定的集合类。今天我们介绍一下怎么自定义一个Collector。Collector介绍我们先看一下Collector的定义#xff1a;Co…简介在之前的java collectors文章里面我们讲到了stream的collect方法可以调用Collectors里面的toList()或者toMap()方法将结果转换为特定的集合类。今天我们介绍一下怎么自定义一个Collector。Collector介绍我们先看一下Collector的定义Collector接口需要实现supplier(),accumulator(),combiner(),finisher(),characteristics()这5个接口。同时Collector也提供了两个静态of方法来方便我们创建一个Collector实例。我们可以看到两个方法的参数跟Collector接口需要实现的接口是一一对应的。下面分别解释一下这几个参数supplierSupplier是一个函数用来创建一个新的可变的集合。换句话说Supplier用来创建一个初始的集合。accumulatoraccumulatoraccumulator定义了累加器用来将原始添加到集合中。combinercombiner用来将两个集合合并成一个。finisherfinisher将集合转换为最终的集合类型。characteristicscharacteristics表示该集合的特征。这个不是必须的参数。有了这几个参数我们接下来看看怎么使用这些参数来构造一个自定义Collector。自定义Collector我们利用Collector的of方法来创建一个不变的Setpublic static T CollectorT, SetT, SetT toImmutableSet() {return Collector.of(HashSet::new, Set::add,(left, right) - {left.addAll(right);return left;}, Collections::unmodifiableSet);}上面的例子中我们HashSet::new作为supplierSet::add作为accumulator自定义了一个方法作为combiner最后使用Collections::unmodifiableSet将集合转换成不可变集合。上面我们固定使用HashSet::new作为初始集合的生成方法实际上上面的方法可以更加通用public static T, A extends SetT CollectorT, A, SetT toImmutableSet(SupplierA supplier) {return Collector.of(supplier,Set::add, (left, right) - {left.addAll(right);return left;}, Collections::unmodifiableSet);}上面的方法我们将supplier提出来作为一个参数由外部来定义。看下上面两个方法的测试Testpublic void toImmutableSetUsage(){SetString stringSet1Stream.of(a,b,c,d).collect(ImmutableSetCollector.toImmutableSet());log.info({},stringSet1);SetString stringSet2Stream.of(a,b,c,d).collect(ImmutableSetCollector.toImmutableSet(LinkedHashSet::new));log.info({},stringSet2);}输出INFO com.flydean.ImmutableSetCollector - [a, b, c, d] INFO com.flydean.ImmutableSetCollector - [a, b, c, d]总结本文介绍了Collector和自定义Collector的实例希望能对大家有所帮助。本文的例子https://github.com/ddean2009/learn-java-streams/tree/master/customCollector欢迎关注我的公众号:程序那些事更多精彩等着您更多内容请访问 怎么在java中创建一个自定义的collector​www.flydean.com
http://www.zqtcl.cn/news/62855/

相关文章:

  • 海安网站设计公司网页设计实训
  • 自己做网站可行吗ue4培训班一般学费多少
  • 做网站怎么偷源码做网站沧州做网站的大公司
  • 宁波网站建设哪家强沭阳做网站shy1z
  • 网络营销的方法网站优化推广 视屏
  • 深圳网站建设服务什么便宜深圳网站制作公司新闻
  • 个人网站布局下载常见的网络推广方法有几种
  • 查找邮箱注册过的网站汉中建设网站
  • 保定网站建设电话江苏企业建站
  • 软件通网站建设企业网站建设公司网络服务
  • 律师网站建设怎么样cms是什么意思的缩写
  • 如何做背景不动的网站wix和wordpress
  • 推广型网站建设cms系统设计
  • 软件开发兼职网站ps软件下载免费中文版
  • 手机做网站教程米课做网站
  • 在成都如何找到做网站的公司wordpress微信小程序部署
  • 网站开发是自己开发还是外包的特色软件app推荐
  • 网站做广告费用wordpress 翁
  • 为什么网站要用外链程序员招聘求职的网站
  • wordpress做cms网站网站关键词推广方案
  • 微商怎么做自己的网站河北seo推广系统
  • 网站分析怎么做的哈尔滨百度宣传推广
  • 特优项目网站建设方案公众号小程序怎么添加小程序
  • 淮南网站seowordpress文本块字体大小
  • 移动建站优化wordpress第三方支付接口
  • 网页设计代码网站石家庄做网站百度推广
  • 九江哪家网站建设公司好WordPress动漫风CMS
  • 重庆高端网站设计安徽黄山旅游攻略
  • 免费模板做网站网站标题就一个关键词
  • 企业形象网站策划方案天津市做网站