<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java 偶對 > 原文: [https://howtodoinjava.com/java/basics/pairs-in-java/](https://howtodoinjava.com/java/basics/pairs-in-java/) 使用**偶對**類,例如`javafx.util.Pair`,`ImmutablePair`,`MmutablePair`(通用語言)和`io.vavr.Tuple2`類,在 Java 中學習如何使用鍵值對 > 閱讀更多: [Java 中的元組](https://howtodoinjava.com/java/basics/java-tuples/) ## 1\. 為什么需要偶對? 偶對提供了一種將簡單鍵值關聯的便捷方法。 在 Java 中,映射用于存儲鍵值對。 映射存儲成對的集合并作為整體進行操作。 有時,我們需要處理一些要求,其中鍵值對應獨立存在。 例如 * 偶對需要在方法中作為參數傳遞 * 方法需要以偶對形式返回兩個值 ## 2\. `javafx.util.Pair`類 Java 核心 API 具有`javafx.util.Pair`作為最接近的匹配,用于具有兩個值作為**名稱-值對**的目的。 單擊此鏈接以了解在 Eclipse 中添加 [JavaFx 支持。](https://www.eclipse.org/efxclipse/install.html) `Pair`類提供以下方法。 * `boolean equals?(Object o)` – 測試此對與另一個對象的相等性。 * `K getKey()` – 獲取該對的鍵。 * `V getValue()` – 獲取該對的值。 * `int hashCode()` – 為此對生成哈希碼。 * `String.toString()` – 此對的字符串表示形式。 讓我們看一個 **Java 程序來創建和使用**對。 ```java Pair<Integer, String> pair = new Pair<>(100, "howtodoinjava.com"); Integer key = pair.getKey(); //100 String value = pair.getValue(); //howtodoinjava.com pair.equals(new Pair<>(100, "howtodoinjava.com")); //true - same name and value pair.equals(new Pair<>(222, "howtodoinjava.com")); //false - different name pair.equals(new Pair<>(100, "example.com")); //false - different value ``` ## 3\. `Pair`,`ImmutablePair`和`MutablePair` – Apache 公共語言 Commons lang 庫有一個有用的類,可以用于偶對,即[`org.apache.commons.lang3.tuple.Pair`](https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/tuple/Pair.html)。 它有兩個子類,也可以用于相同目的,即[`ImmutablePair`](https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/tuple/ImmutablePair.html)和[`MutablePair`](https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/tuple/MutablePair.html)。 * `Pair`類是由兩個元素組成的偶對。 * `Pair`將元素稱為“左”和“右”。 * `Pair`還實現了`Map.Entry`接口,其中鍵為“左”,值為“右”。 * `ImmutablePair`是`Pair`上的[不可變](https://howtodoinjava.com/java/basics/how-to-make-a-java-class-immutable/)表示。 如果將可變的對象存儲在該對中,那么該對本身將有效地變為可變的。 該類也不是`final`,因此子類可能會添加不良行為。 * 如果存儲的對象是線程安全的,則`ImmutablePair`是[線程安全的](https://howtodoinjava.com/java/multi-threading/what-is-thread-safety/)。 ```java ImmutablePair<Integer, String> pair = ImmutablePair.of(100, "howtodoinjava.com"); Integer key = pair.getKey(); //100 String value = pair.getValue(); //howtodoinjava.com //Integer key = pair.getLeft(); //100 //String value = pair.getRight(); //howtodoinjava.com pair.equals(ImmutablePair.of(100, "howtodoinjava.com")); //true - same name and value pair.equals(ImmutablePair.of(222, "howtodoinjava.com")); //false - different name pair.equals(ImmutablePair.of(100, "example.com")); //false - different value ``` 不要忘記將庫導入應用程序類路徑。 ```java <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.8.1</version> </dependency> ``` ## 4\. `io.vavr.Tuple2` - Vavr 用于存儲鍵值對的另一個有用的類是[`Tuple2`](https://static.javadoc.io/io.vavr/vavr/0.9.0/io/vavr/Tuple2.html)。 `Tuple2`提供了許多有用的方法來處理其中存儲的數據。 例如: * `T1 _1()` – 此元組的第一個元素的獲取器。 * `T2 _2()` – 此元組的第二個元素的獲取器。 * `Tuple2 update1(T1 value)` – 將此元組的第一個元素設置為給定值。 * `Tuple2 update2(T2 value)` – 將此元組的第二個元素設置為給定值。 * `Map.Entry toEntry()` – 將元組轉換為`java.util.Map.Entry`元組。 * `Tuple2 swap()` – 交換此元組的元素。 * `Tuple2 map(BiFunction mapper)` – 使用映射器函數映射該元組的組件。 * `int compareTo(Tuple2 that)` – 比較兩個`Tuple2`實例。 ```java Tuple2<Integer, String> pair = new Tuple2<>(100, "howtodoinjava.com"); Integer key = pair._1(); //100 String value = pair._2(); //howtodoinjava.com pair.equals(new Tuple2<>(100, "howtodoinjava.com")); //true - same name and value pair.equals(new Tuple2<>(222, "howtodoinjava.com")); //false - different name pair.equals(new Tuple2<>(100, "example.com")); //false - different value ``` 不要忘記將庫導入應用程序類路徑。 ```java <dependency> <groupId>io.vavr</groupId> <artifactId>vavr</artifactId> <version>0.10.2</version> </dependency> ``` 向我提供有關 Java 中的名稱/值對的問題。 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看