日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java lambda例子

發(fā)布時間:2024/9/21 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java lambda例子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡單數(shù)據(jù)類型int,跟Integer在lambda中的使用還不一樣,有區(qū)別

code:

package com.qhong.lambda.testDemo;import java.util.Arrays; import java.util.Comparator; import java.util.List;/*** Created by qhong on 2018/5/23 9:30**/ public class baseDemo {public static void main(String[] args) {//intint[] arr= {1,2,3,4,5,44,33,22,11};List<Integer> list= Arrays.asList(1,2,3,4,5,44,33,22,11);System.out.println(Arrays.toString(arr));System.out.println(Arrays.stream(arr).max().getAsInt());System.out.println(list.stream().mapToInt(x->Integer.parseInt(x.toString())).max().getAsInt());System.out.println(list.stream().mapToInt(x->Integer.valueOf(x.toString()).intValue()).min().getAsInt());System.out.println(list.stream().max(Comparator.comparing(x->x)).get());System.out.println(list.stream().max(Comparator.comparing(Integer::intValue)).get());System.out.println("==============Integer=====================");//IntegerInteger[] arr2= {1,2,3,4,5,44,33,22,11};System.out.println(Arrays.stream(arr2).mapToInt(x->Integer.parseInt(x.toString())).max().getAsInt());} }

boxed:

public class boxedTest {public static void main(String[] args) {List<String> strings = Stream.of("how", "to", "do", "in", "java").collect(Collectors.toList());System.out.println(strings);List<Integer> ints= IntStream.of(1,2,3,4,5).boxed().collect(Collectors.toList());System.out.println(ints);testPersonIds();}private static void testPersonIds(){List<Integer> list= getPersonList().stream().map(x->x.getIds().split(",")).flatMap(x->Arrays.stream(x)).mapToInt(x->Integer.parseInt(x)).boxed().distinct().collect(Collectors.toList());System.out.println(JSON.toJSONString(list));}private static List<Person> getPersonList(){return Arrays.asList(new Person[]{new Person("hongda","1,2,3,4,5"),new Person("hongdada","3,4,6,7,8"),new Person("hongda3","8,9,10")});}@Data@NoArgsConstructor@AllArgsConstructorstatic class Person{private String name;private String ids;} }

mapToInt以后會轉(zhuǎn)換成IntStream

使用boxed,會轉(zhuǎn)換成Stream<Integer>

跟下面的方法進行對比:

private static void testPersonIds(){Stream<Person> personStream=getPersonList().stream();Stream<String[]> arrayStream= personStream.map(x->x.getIds().split(","));Stream<String> stringStream=arrayStream.flatMap(x->Arrays.stream(x));IntStream intStream=stringStream.mapToInt(x->Integer.parseInt(x));Stream<Integer> integerStream=intStream.boxed();Stream<Integer> integerStream1=integerStream.distinct();List<Integer> list=integerStream1.collect(Collectors.toList());System.out.println(JSON.toJSONString(list));}

結(jié)果是一樣的,這樣可以很明顯的看出類型的變化。

當(dāng)然也可以把mapToInt,boxed這兩個操作合并成一個map,這里舉例使用

Stream<Integer> integerStream=stringStream.map(x->Integer.parseInt(x));

?

?

?

參考:

https://howtodoinjava.com/java-8/java8-boxed-intstream/

https://www.cnblogs.com/andywithu/p/7404101.html

https://www.cnblogs.com/shenlanzhizun/p/6027042.html

https://blog.csdn.net/u014646662/article/details/52261511

總結(jié)

以上是生活随笔為你收集整理的Java lambda例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。