Java8-Stream-No.01

来源:互联网 发布:新闻采集软件 编辑:程序博客网 时间:2024/05/20 06:22
import java.util.ArrayList;import java.util.List;import java.util.Optional;public class Streams1 {    public static void main(String[] args) {        List<String> stringCollection = new ArrayList<>();        stringCollection.add("ddd2");        stringCollection.add("aaa2");        stringCollection.add("bbb1");        stringCollection.add("aaa1");        stringCollection.add("bbb3");        stringCollection.add("ccc");        stringCollection.add("bbb2");        stringCollection.add("ddd1");        // filtering        stringCollection.stream().filter((s) -> s.startsWith("a")).forEach(System.out::println);        // "aaa2", "aaa1"        // sorting        stringCollection                .stream()                .sorted()                .filter((s) -> s.startsWith("a"))                .forEach(System.out::println);        // "aaa1", "aaa2"        // mapping        stringCollection                .stream()                .map(String::toUpperCase)                .sorted((a, b) -> b.compareTo(a))                .forEach(System.out::println);        // "DDD2", "DDD1", "CCC", "BBB3", "BBB2", "AAA2", "AAA1"        // matching        boolean anyStartsWithA = stringCollection                .stream()                .anyMatch((s) -> s.startsWith("a"));        System.out.println(anyStartsWithA);      // true        boolean allStartsWithA = stringCollection                .stream()                .allMatch((s) -> s.startsWith("a"));        System.out.println(allStartsWithA);      // false        boolean noneStartsWithZ = stringCollection                .stream()                .noneMatch((s) -> s.startsWith("z"));        System.out.println(noneStartsWithZ);      // true        // counting        long startsWithB = stringCollection                .stream()                .filter((s) -> s.startsWith("b"))                .count();        System.out.println(startsWithB);    // 3        // reducing        Optional<String> reduced =                stringCollection                        .stream()                        .sorted()                        .reduce((s1, s2) -> s1 + "#" + s2);        reduced.ifPresent(System.out::println);        // "aaa1#aaa2#bbb1#bbb2#bbb3#ccc#ddd1#ddd2"    }}
原创粉丝点击