java8学习之比较器深入
2024-09-04 00:59:00
继续接着上次【http://www.cnblogs.com/webor2006/p/8331498.html】的比较器进行探究,上次排序采用是的利用Collections.sort()进行的,下面采用List集合本身的sort()方法【Java8才加入的】,其使用基本上类似:
接下来同样改用Lambda表达式:
接下来需求升级:先对字符串的长度升序排序,如果字符串的长度有相同的则按字符串的ASCII码进行第二级排序,这时Comparator.thenComparing()方法就派上用场啦,如下:
那下面来看一下thenComparing()实现的具体细节:
接下来再看一下方法的具体实现:
接下来咱们用自己的比较器,而不用"String.CASE_INSENSITIVE_ORDER"了,如下:
接下来再来换一种方式实现:
接下来继续变更:
继续,这次就是要把Comparator相关方法操练得想吐~~
在运行之前咱们先来预测一下,这显示就是在上一次的结果之上再进行一次逆嘛,上次结果为"welcome, world, nihao, hello",那这次肯定为"hello, nihao,world,welcome"啦,运行论证:
什么鬼~~还记得咱们在读thenComparing()的javadoc时的说明么,只有发现两个元素是相等的情况下传给它的比较器才会管用,而由于:
当然最后一个thenComparing()中的比较器压根都不会执行。
最新文章
- grep 命令过滤配置文件中的注释和空行
- DPA/Ignite由于DNS问题导致连接不上被监控的数据库服务器
- log4j的使用详细解析
- Django1.9开发博客(14)- 集成Xadmin
- 今天踩过的坑——structs和phpmyadmin
- 如何在Eclipse中查看Android源码或者第三方组件包源码
- iframe和form表单的target应用简单例子
- 苹果HomeKit如何牵动全国智能硬件格局
- 使用Spring 3的@value简化配置文件的读取
- 用lambda表达式替代 for循环进行批量操作。
- ACM2136
- html5实例-闪烁的星星
- MOOC网视频下载并视频倍速播放,超简单哒,亲测可用,( •̀ ω •́ )y
- 小强的HTML5移动开发之路(10)——在线画板
- python全栈开发day54-mysql库操作、表操作、数据类型、完整性约束
- php 添加环境变量
- phothoshop 快捷键
- NodeJS - Express 4.0错误:Cannot read property 'Store' of undefined
- JAVA 课堂测试
- 根据 WBS 列新 PID 数据
热门文章
- document.documentElement 和 document.body
- vscode开发ExtJs安装插件以及破解方法
- linux新建文件夹
- 微信小程序遍历wx:for,wx:for-item,wx:key
- Unity中的动画系统和Timeline(3) 模型和动画导入
- PJzhang:微软出口管制条例
- Linux C/C++基础——Windows远程登录Linux
- cisco路由的ip路由(一)
- appium环境搭建(二)----搭建android开发环境
- 关于一个查询的JAVA界面,希望对你有启发