博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用guava来进行优雅的函数式编程
阅读量:6295 次
发布时间:2019-06-22

本文共 1507 字,大约阅读时间需要 5 分钟。

hot3.png

先贴代码:

DuplicateCenter {    main(String[] args) {        List names = Arrays.()names=ImmutableSet.(               Iterables.(                       namesPredicates.(Predicates.()))).asList()Iterable filtered = Iterables.(                Iterables.(names(()()))())Iterator
nameIterator=filtered.iterator()(nameIterator.hasNext()){            System..println(nameIterator.next())}    }    LengthLessThanPredicate Predicate
 {        LengthLessThanPredicate(length) {            .= length}        apply(String s) {            s.length() < }    }    OrPredicate Predicate
 {        Predicate
 Predicate
 OrPredicate(Predicate SPredicate T){           .=S.=T}        apply(String s) {            .apply(s)||.apply(s)}    }    Predicate
 lengthLessThan(length) {        LengthLessThanPredicate(length)}    Predicate
or(Predicate SPredicate T){         OrPredicate(ST)}    Predicate
isEqualTo(String str){        EqualtoPredicate(str)}    EqualtoPredicate Predicate
 {        String EqualtoPredicate(String str) {         .=str}           apply(String s) {            s.equals()}    }}
FluentIterable<> Iterable<> {  Iterable<> FluentIterable(Iterable<> iterable) {    .= iterable}  <> FluentIterable<> with(Iterable<> iterable) {    FluentIterable<>(iterable)}  Iterator<> iterator() {    ..iterator()}     FluentIterable<> filter(Predicate
 predicate) {    Iterable filtered = Iterables.(.predicate).= filtered}}

函数式编程的样子

165955_JMQf_2497999.png

很明朗有没有

转载于:https://my.oschina.net/u/2497999/blog/536562

你可能感兴趣的文章
validate表单验证及自定义方法
查看>>
javascript 中出现missing ) after argument list的错误
查看>>
使用Swagger2构建强大的RESTful API文档(2)(二十三)
查看>>
Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work
查看>>
(转)第三方支付参与者
查看>>
程序员修炼之道读后感2
查看>>
DWR实现服务器向客户端推送消息
查看>>
js中forEach的用法
查看>>
Docker之功能汇总
查看>>
!!a标签和button按钮只允许点击一次,防止重复提交
查看>>
(轉貼) Eclipse + CDT + MinGW 安裝方法 (C/C++) (gcc) (g++) (OS) (Windows)
查看>>
还原数据库
查看>>
作业调度框架 Quartz.NET 2.0 beta 发布
查看>>
mysql性能的检查和调优方法
查看>>
项目管理中的导向性
查看>>
Android WebView 学习
查看>>
(转)从给定的文本中,查找其中最长的重复子字符串的问题
查看>>
HDU 2159
查看>>
spring batch中用到的表
查看>>
资源文件夹res/raw和assets的使用
查看>>