<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## [流創建](https://lingcoder.gitee.io/onjava8/#/book/14-Streams?id=%e6%b5%81%e5%88%9b%e5%bb%ba) 你可以通過`Stream.of()`很容易地將一組元素轉化成為流(`Bubble`類在本章的后面定義): ~~~ // streams/StreamOf.java import java.util.stream.*; public class StreamOf { public static void main(String[] args) { Stream.of(new Bubble(1), new Bubble(2), new Bubble(3)) .forEach(System.out::println); Stream.of("It's ", "a ", "wonderful ", "day ", "for ", "pie!") .forEach(System.out::print); System.out.println(); Stream.of(3.14159, 2.718, 1.618) .forEach(System.out::println); } } ~~~ 輸出結果: ~~~ Bubble(1) Bubble(2) Bubble(3) It's a wonderful day for pie! 3.14159 2.718 1.618 ~~~ 除此之外,每個集合都可以通過調用`stream()`方法來產生一個流。代碼示例: ~~~ // streams/CollectionToStream.java import java.util.*; import java.util.stream.*; public class CollectionToStream { public static void main(String[] args) { List<Bubble> bubbles = Arrays.asList(new Bubble(1), new Bubble(2), new Bubble(3)); System.out.println(bubbles.stream() .mapToInt(b -> b.i) .sum()); Set<String> w = new HashSet<>(Arrays.asList("It's a wonderful day for pie!".split(" "))); w.stream() .map(x -> x + " ") .forEach(System.out::print); System.out.println(); Map<String, Double> m = new HashMap<>(); m.put("pi", 3.14159); m.put("e", 2.718); m.put("phi", 1.618); m.entrySet().stream() .map(e -> e.getKey() + ": " + e.getValue()) .forEach(System.out::println); } } ~~~ 輸出結果: ~~~ 6 a pie! It's for wonderful day phi: 1.618 e: 2.718 pi: 3.14159 ~~~ 在創建`List<Bubble>`對象之后,我們只需要簡單地調用所有集合中都有的`stream()`。中間操作`map()`會獲取流中的所有元素,并且對流中元素應用操作從而產生新的元素,并將其傳遞到后續的流中。通常`map()`會獲取對象并產生新的對象,但在這里產生了特殊的用于數值類型的流。例如,`mapToInt()`方法將一個對象流(object stream)轉換成為包含整型數字的`IntStream`。同樣,針對`Float`和`Double`也有類似名字的操作。 我們通過調用字符串的`split()`(該方法會根據參數來拆分字符串)來獲取元素用于定義變量`w`。稍后你會知道`split()`參數可以是十分復雜,但在這里我們只是根據空格來分割字符串。 為了從**Map**集合中產生流數據,我們首先調用`entrySet()`產生一個對象流,每個對象都包含一個`key`鍵以及與其相關聯的`value`值。然后分別調用`getKey()`和`getValue()`獲取值。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看