Lambda实现字符串数组排序
来源:互联网 发布:手机数据恢复软件下载 编辑:程序博客网 时间:2024/06/10 15:38
why use Lambda
最近看了Lambda表达式,它使用简洁的语法来创建函数式接口的实例,避免匿名内部类的繁琐。我们直接通过一个自定义排序字符数组的例子来感受下吧。
匿名内部类实现
import java.util.Arrays;import java.util.Comparator;public class Test { public static void main(String[] args){ String[] str={"aab","aac","aab","aad","zoo","jvm","lee"}; Arrays.sort(str,new Comparator<String>() { @Override public int compare(String o1, String o2) { if((o1==null && o2==null)) return 0; //假定o1和o2长度相同 int flag=0; for(int i=0;i<o1.length();i++){ if(o1.charAt(i)>o2.charAt(i)){ //第一个字符串大,返回值>0 flag=1; break; } else if(o1.charAt(i)<o2.charAt(i)){ //第一个字符串小,返回值<0 flag=-1; break; } } return flag; } }); for(String s:str) System.out.println(s); }}
Lambda表达式实现
import java.util.Arrays;public class Test { public static void main(String[] args){ String[] str={"aab","aac","aab","aad","zoo","jvm","lee"}; Arrays.sort(str,(o1, o2) -> { if((o1==null && o2==null)) return 0; //假定o1和o2长度相同 int flag=0; for(int i=0;i<o1.length();i++){ if(o1.charAt(i)>o2.charAt(i)){ //第一个字符串大,返回值>0 flag=1; break; } else if(o1.charAt(i)<o2.charAt(i)){ //第一个字符串小,返回值<0 flag=-1; break; } } return flag; }); for(String s:str) System.out.println(s); }}
阅读全文
0 0
- Lambda实现字符串数组排序
- Java实现字符串数组和字符串排序
- C#实现字符串数组的TreeMap排序
- java 将字符串数组实现排序
- 排序实现对字符串数组的排序,待改进.
- 二维字符串数组排序
- 指针数组 字符串排序
- C 字符串数组排序
- 字符串数组qsort排序
- 字符串数组排序
- 数组,字符串复习+排序
- 字符串数组排序
- JavaScript字符串数组排序
- 给字符串数组排序
- 字符串数组排序
- 字符串数组排序
- C++ 用qsort()实现字符串数组元素排序
- <笔试><面试>编写一个排序函数,实现,既可以排序整形数组,又可以排序字符串。
- 简单的中奖率问题求解
- IAR的printf问题
- android中DownloadManager实现版本更新,监听下载进度实例
- WebService介绍
- Charles 4.02 乱码问题
- Lambda实现字符串数组排序
- 多线程设计模式小结
- centos启动——/sbin/init 的破坏与修复
- 实现不同页面之间的通信
- chrome中<a href="" target="myFrame">重定向问题
- SylixOS 无Uboot版BSP
- Java中的动态代理
- VC下UDP 编译问题
- OpenCV实现SfM(一):双目三维重建(包含SIFT特征点提取)