Java lambda例子
生活随笔
收集整理的這篇文章主要介紹了
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));}結果是一樣的,這樣可以很明顯的看出類型的變化。
當然也可以把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
總結
以上是生活随笔為你收集整理的Java lambda例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下tomcat服务器的启动和关
- 下一篇: uda 3.C++二维向量