<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國際加速解決方案。 廣告
                # Java 集合的便利工廠方法 原文:http://zetcode.com/articles/jep269/ 本文介紹了 JDK 9 中引入的用于集合的便捷工廠方法。JEP(Java 增強過程)269 引入了新的 API,以使創建具有少量元素的集合和映射實例更加方便。 目的是減輕 Java 編程語言中沒有集合字面值的痛苦。 故意將 API 保持為最小。 它在`List`,`Set`和`Map`接口上包含新的靜態工廠方法,用于創建集合的不可修改實例。 ## 安裝 JDK 9 EA 我們從 [jdk9.java.net/download/](https://jdk9.java.net/download/) 下載 JDK 9 早期訪問。 ```java $ tar vzfx jdk-9-ea+131_linux-x64_bin.tar.gz ``` 在 Linux 上,我們解壓縮`jdk-9-ea+131_linux-x64_bin.tar.gz`文件。 ```java $ cd jdk-9/ $ ./bin/java -version java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+131) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+131, mixed mode) ``` 我們移至根目錄并顯示 Java 版本。 目前,NetBeans 和 Eclipse 都不支持 JDK 9。 因此,我們將從命令行運行示例。 有三種新的靜態重載方法: * `List.of()` * `Set.of()` * `Map.of()` 該方法創建各個集合的不可修改實例。 ## 列表示例 第一個示例使用新的 API 創建一個列表。 列表是一個簡單的有序集合,允許重復的元素。 ```java $ tree . └── com └── zetcode └── ListExample.java 2 directories, 1 file ``` 我們有這個項目目錄結構。 `ListExample.java` ```java package com.zetcode; import java.util.List; public class ListExample { public static void main(String[] args) { List<String> fruits = List.of("apple", "banana", "plum", "lemon"); System.out.println(fruits); String[] items = {"coin", "pen", "bottle", "spoon"}; List<String> listOfItems = List.of(items); System.out.println(listOfItems); } } ``` 在示例中,我們使用新的`List.of()`方法調用創建了兩個字符串列表。 ```java List<String> fruits = List.of("apple", "banana", "plum", "lemon"); ``` 創建一個新列表。 這些項目被指定為`List.of()`參數。 ```java String[] items = {"coin", "pen", "bottle", "spoon"}; List<String> listOfItems = List.of(items); ``` `List.of()`也可以將數組作為參數。 ```java $ ~/bin/jdk1.9/bin/javac -d bin com/zetcode/ListExample.java ``` 我們編譯代碼示例。 二進制文件放入`bin`目錄。 ```java $ ~/bin/jdk1.9/bin/java -cp bin com.zetcode.ListExample [apple, banana, plum, lemon] [coin, pen, bottle, spoon] ``` 我們運行示例。 這兩個列表將打印到控制臺。 ## 集合示例 在下面的示例中,我們顯示了`Set`集合的新 API。 集合是不包含重復元素的集合。 `SetExample.java` ```java package com.zetcode; import java.util.Set; import java.util.TreeSet; public class SetExample { public static void main(String[] args) { Set<String> colours = Set.of("blue", "red", "green", "yellow"); System.out.println(colours); String[] names = {"Jane", "Paul", "Robin", "Susan", "Monica", "Jan", "Peter"}; TreeSet<String> setOfnames = new TreeSet<String>(Set.of(names)); System.out.println(setOfnames); } } ``` 創建兩個集合; 第二個按字母順序排序。 ```java Set<String> colours = Set.of("blue", "red", "green", "yellow"); ``` 通過`Set.of()`方法調用創建一個新集合。 ```java String[] names = {"Jane", "Paul", "Robin", "Susan", "Monica", "Jan", "Peter"}; TreeSet<String> setOfnames = new TreeSet<String>(Set.of(names)); ``` 要創建排序集,我們將創建的集傳遞給`TreeSet`。 ```java $ ~/bin/jdk1.9/bin/javac -d bin com/zetcode/SetExample.java $ ~/bin/jdk1.9/bin/java -cp bin com.zetcode.SetExample [yellow, red, green, blue] [Jan, Jane, Monica, Paul, Peter, Robin, Susan] ``` 我們編譯并運行該示例。 ## 映射示例 接下來的兩個示例展示了`Map`集合的新 API。 映射是一個包含唯一鍵/值對的集合。 `MapExample.java` ```java package com.zetcode; import java.util.Map; public class MapExample { public static void main(String[] args) { Map<String, Integer> items = Map.of("coins", 12, "chairs", 4, "pens", 2); items.entrySet().stream().forEach(System.out::println); } } ``` `Map.of()`方法使用兩個鍵值對創建一個新映射。 ```java $ ~/bin/jdk1.9/bin/javac -d bin com/zetcode/MapExample.java $ ~/bin/jdk1.9/bin/java -cp bin com.zetcode.MapExample coins=12 chairs=4 pens=2 ``` 我們編譯并運行該程序。 在第二個示例中,我們使用`Map.entry()`創建映射元素。 映射條目是一個鍵值對。 `MapExample2.java` ```java package com.zetcode; import java.util.Map; import static java.util.Map.entry; public class MapExample2 { public static void main(String[] args) { Map<Integer,String> map = Map.ofEntries( entry(1, "A"), entry(2, "B"), entry(3, "C"), entry(4, "D") ); map.entrySet().stream().forEach(System.out::println); } } ``` 使用`Map.ofEntries()`方法創建一個新的條目映射。 ```java $ ~/bin/jdk1.9/bin/javac -d bin com/zetcode/MapExample2.java $ ~/bin/jdk1.9/bin/java -cp bin com.zetcode.MapExample2 1=A 2=B 3=C 4=D ``` We compile and run the program. 在本文中,我們研究了即將發布的 JDK 9 中的新集合 API。 您可能也對以下相關教程感興趣: [Java 教程](/lang/java/), [Java 局部變量類型推斷](/articles/javavariabletypeinference/),[用 Java8 的`StringJoiner`連接字符串](/articles/java8stringjoiner/)或 [Google Guava](/articles/guava/) 。
                  <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>

                              哎呀哎呀视频在线观看