继续接着上次【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()中的比较器压根都不会执行。

最新文章

  1. grep 命令过滤配置文件中的注释和空行
  2. DPA/Ignite由于DNS问题导致连接不上被监控的数据库服务器
  3. log4j的使用详细解析
  4. Django1.9开发博客(14)- 集成Xadmin
  5. 今天踩过的坑——structs和phpmyadmin
  6. 如何在Eclipse中查看Android源码或者第三方组件包源码
  7. iframe和form表单的target应用简单例子
  8. 苹果HomeKit如何牵动全国智能硬件格局
  9. 使用Spring 3的@value简化配置文件的读取
  10. 用lambda表达式替代 for循环进行批量操作。
  11. ACM2136
  12. html5实例-闪烁的星星
  13. MOOC网视频下载并视频倍速播放,超简单哒,亲测可用,( •̀ ω •́ )y
  14. 小强的HTML5移动开发之路(10)——在线画板
  15. python全栈开发day54-mysql库操作、表操作、数据类型、完整性约束
  16. php 添加环境变量
  17. phothoshop 快捷键
  18. NodeJS - Express 4.0错误:Cannot read property 'Store' of undefined
  19. JAVA 课堂测试
  20. 根据 WBS 列新 PID 数据

热门文章

  1. document.documentElement 和 document.body
  2. vscode开发ExtJs安装插件以及破解方法
  3. linux新建文件夹
  4. 微信小程序遍历wx:for,wx:for-item,wx:key
  5. Unity中的动画系统和Timeline(3) 模型和动画导入
  6. PJzhang:微软出口管制条例
  7. Linux C/C++基础——Windows远程登录Linux
  8. cisco路由的ip路由(一)
  9. appium环境搭建(二)----搭建android开发环境
  10. 关于一个查询的JAVA界面,希望对你有启发