Java 8 Stream API說明

Java 8增長了不少強大的功能,流(stream)就是其中之一。如今對api的使用作個說明:api

map數組

對流中的元素作轉換,目前jdk提供了mapToInt,mapToLong,mapToDouble轉換爲對應的流。spa

 Stream.of("a","b").map(String::toUpperCase).forEach(System.out::println);

>>>>>
A
B
Stream.of("1","2").mapToDouble(Double::valueOf).forEach(System.out::println);
>>>>>>

1.0
2.0code

forEach、 forEachOrdered:迭代流的元素並執行action。 二者的區別在:後者在並行的狀況下能保證action執行的順序。blog

parallel:並行計算,底層採用的folk/join排序

 Stream.of(1,3,2).parallel().forEachOrdered(System.out::println);
>>>>
1
3
2

 Stream.of(1,3,2).parallel().forEach(System.out::println);
>>>>
3
1
2

distinct:去重ip

sorted:排序it

Stream.of(1,3,3,2).distinct().sorted().forEach(System.out::println);
>>>
1
2
3

peek:對流執行一個actionio

Stream.of(1,3,3,2).filter(i -> i > 2).peek(System.out::println).collect(Collectors.toList());
>>>
3
3

limit:限制流元素的個數class

skip:跳過幾個元素

 Stream.of(1,3,3,2).skip(2).peek(System.out::println).collect(Collectors.toList());
>>>
3
2
Stream.of(1,3,3,2).limit(2).peek(System.out::println).collect(Collectors.toList());
>>>
1
3

sequential: 串行流,沒看出區別

Stream.of(1,3,3,2).sequential().forEach(System.out::println);
toArray():將流轉換成數組
相關文章
相關標籤/搜索