{"id":1469,"date":"2022-11-05T17:12:48","date_gmt":"2022-11-05T09:12:48","guid":{"rendered":"https:\/\/qaqaq.top\/?p=1469"},"modified":"2022-11-27T12:39:44","modified_gmt":"2022-11-27T04:39:44","slug":"java9%e6%96%b0%e7%89%b9%e6%80%a7%ef%bc%9astreamapi%e6%96%b0%e5%a2%9e%e7%9a%844%e4%b8%aa%e6%96%b9%e6%b3%95%e3%80%81optional%e7%9a%84%e6%96%b0%e6%96%b9%e6%b3%95stream","status":"publish","type":"post","link":"https:\/\/qaqaq.top\/?p=1469","title":{"rendered":"java9\u65b0\u7279\u6027\uff1aStreamAPI\u65b0\u589e\u76844\u4e2a\u65b9\u6cd5\u3001Optional\u7684\u65b0\u65b9\u6cd5stream()"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>package top.qaqaq.java.P704;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.Arrays;\r\nimport java.util.List;\r\nimport java.util.Optional;\r\nimport java.util.stream.Stream;\r\n\r\n\/**\r\n * @author RichieZhang\r\n * @create 2022-11-05 \u4e0b\u5348 2:05\r\n *\/\r\npublic class Java9Test2 {\r\n\r\n    \/\/java9\u65b0\u7279\u6027\u5341\uff1aStream API\u7684\u52a0\u5f3a\r\n    @Test\r\n    public void test1(){\r\n        List&lt;Integer> list = Arrays.asList(23, 43, 45, 55, 61, 54, 32, 2, 45, 89, 7);\r\n        \/\/takeWhile \u8fd4\u56de\u4ece\u5f00\u5934\u5f00\u59cb\u7684\u6309\u7167\u6307\u5b9a\u89c4\u5219\u5c3d\u91cf\u591a\u7684\u5143\u7d20\u3002\r\n\/\/        list.stream().takeWhile(x -> x &lt; 60).forEach(System.out::println);\r\n\r\n        \/\/dropWhile() \u7684\u884c\u4e3a\u4e0e takeWhile \u76f8\u53cd\uff0c\u8fd4\u56de\u5269\u4f59\u7684\u5143\u7d20\u3002\r\n        list.stream().dropWhile(x -> x &lt; 60).forEach(System.out::println);\r\n    }\r\n\r\n    @Test\r\n    public void test2(){\r\n\r\n        \/\/of()\u53c2\u6570\u4e2d\u7684\u591a\u4e2a\u5143\u7d20\uff0c\u53ef\u4ee5\u5305\u542bnull\u503c\r\n        Stream&lt;Integer> stream1 = Stream.of(1, 2, 3, null);\r\n        stream1.forEach(System.out::println);\r\n        \/\/of()\u53c2\u6570\u4e0d\u80fd\u5b58\u50a8\u5355\u4e2anull\u503c\u3002\u5426\u5219\uff0c\u62a5\u5f02\u5e38\r\n\/\/        Stream&lt;Object> stream2 = Stream.of(null);\r\n\/\/        stream2.forEach(System.out::println);\r\n\r\n        Integer i = 10;\r\n        i = null;\r\n        \/\/ofNullable(): \u5f62\u53c2\u53d8\u91cf\u662f\u53ef\u4ee5\u4e3anull\u503c\u7684\u5355\u4e2a\u5143\u7d20\r\n        Stream&lt;Integer> stream3 = Stream.ofNullable(i);\r\n        long count = stream3.count();\r\n        System.out.println(count);\r\n\r\n    }\r\n\r\n    @Test\r\n    public void test3(){\r\n\r\n        Stream.iterate(0,x -> x + 1).limit(10).forEach(System.out::println);\r\n\r\n        \/\/java9\u4e2d\u65b0\u589e\u7684\u91cd\u8f7d\u7684\u65b9\u6cd5\r\n        Stream.iterate(0,x -> x &lt; 100,x -> x + 1).forEach(System.out::println);\r\n\r\n    }\r\n\r\n    \/\/java9\u65b0\u7279\u6027\u5341\u4e00\uff1aOptional\u63d0\u4f9b\u4e86\u65b0\u7684\u65b9\u6cd5Stream()\r\n    @Test\r\n    public void test4(){\r\n        List&lt;String> list = new ArrayList&lt;>();\r\n        list.add(\"Tom\");\r\n        list.add(\"Jerry\");\r\n        list.add(\"Tim\");\r\n        Optional&lt;List&lt;String>> optional = Optional.ofNullable(list);\r\n        Stream&lt;List&lt;String>> stream = optional.stream();\r\n\/\/        long count = stream.count();\r\n\/\/        System.out.println(count);\r\n        stream.flatMap(x -> x.stream()).forEach(System.out::println);\r\n    }\r\n}\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[46],"class_list":["post-1469","post","type-post","status-publish","format-standard","hentry","category-java-code","tag-java"],"_links":{"self":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1469"}],"collection":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1469"}],"version-history":[{"count":1,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1469\/revisions"}],"predecessor-version":[{"id":1470,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1469\/revisions\/1470"}],"wp:attachment":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}