您的位置:首页 > 编程语言 > Java开发

java lambda 表达式

2017-10-23 10:45 204 查看
private static  void testLambda4(){
//计算 count, min, max, sum, and average for numbers
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
IntSummaryStatistics stats = numbers
.stream()
.mapToInt((x) -> x)
.summaryStatistics();

System.out.println("List中最大的数字 : " + stats.getMax());
System.out.println("List中最小的数字 : " + stats.getMin());
System.out.println("所有数字的总和   : " + stats.getSum());
System.out.println("所有数字的平均值 : " + stats.getAverage());

}
private static  void testLambda3(){
String [] names={"aa1","aa4","aa3","aa2"};
//排序使用默认比较
Arrays.sort(names);

//排序使用自定义比较器-普通
Comparator<String> compar=new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
};
Arrays.sort(names,compar);
for(String str:names){
System.out.println("普通:"+str);
}

//排序使用自定义比较器-lambda
Comparator<String> compar2=(String str1,String str2)->{return str1.compareTo(str2);};
Arrays.sort(names,compar2);

for(String str:names){
System.out.println("lambda:"+str);
}

//排序使用自定义比较器-lambda-简写
Arrays.sort(names,(str1,str2)->{return str2.compareTo(str1);});

for(String str:names){
System.out.println("lambda-简写:"+str);
}
}
private static void testLambda2(){
String [] names={"aa1","aa4","aa3","aa2"};
List<String> nameList= Arrays.asList(names);//调用Arrays工具类的asList方法 把数组转变成集合
//老循环方式
for (String name:nameList ) {
System.out.println("老:"+name);
}

//stream().map
List<Boolean> nameList_map= nameList.stream().map(name->name.equals("aa3")).collect(Collectors.toList());
nameList_map.forEach(b->System.out.println("map:"+b));

//stream().filter
List<String> nameList_filter= nameList.stream().filter(name->name.equals("aa2")).collect(Collectors.toList());
nameList_filter.forEach(name->System.out.println("filter:"+name));

//stream().findFirst()
String first=  nameList.stream().findFirst().get();
}
private static void testLambda(){
String [] names={"aa1","aa4","aa3","aa2"};
List<String> nameList= Arrays.asList(names);//调用Arrays工具类的asList方法 把数组转变成集合
//老循环方式
for (String name:nameList ) {
System.out.println("老:"+name);
}
//新循环方式一
nameList.forEach(name->System.out.println("排序前:"+name));
Collections.sort(nameList);//调用Collections工具类的sort方法对集合进行排序
nameList.forEach(name->System.out.println("排序后:"+name));

//新循环方式二
nameList.forEach(System.out::println);
}


java Lambda
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: