簡體   English   中英

Java中的三元組是什么?

[英]What is a Triple in Java?

我遇到了如下代碼:

public List<Triple<String, String, Instant>> methodName() {
    // Do something
}

什么是Triple ,應該如何使用?

當您想一次保存 3 個值並且可以傳遞不同的數據類型時, 三重非常有用。 如果您只是想學習,那么下面是它的用法示例,但是如果您想在代碼中使用,那么我建議您改用Objects

public class Triple<T, U, V> {

    private final T first;
    private final U second;
    private final V third;

    public Triple(T first, U second, V third) {
        this.first = first;
        this.second = second;
        this.third = third;
    }

    public T getFirst() { return first; }
    public U getSecond() { return second; }
    public V getThird() { return third; }
}

這就是您可以實例化它的方式:

List<Triple<String, Integer, Integer>> = new ArrayList<>();

編輯

正如評論中所討論的,請注意它屬於org.apache.commons.lang3.tuple它不是Java中的內置類。

考慮 3 個值的“元組”!

許多編程語言提供了有效處理“固定”長度但每個條目類型不同的列表的方法。

Triple 類是為您提供類似內容的 Java 方式。 就像一對,但多了一個條目。

在其核心,固定長度的元組允許您基於某種“排序”“松散耦合”不同類型的多個值。

當您需要一個數據結構來處理三個實體的列表時,您可能會使用 Triple。 這是一個小例子:

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.tuple.Triple;
    
public class Test {

    public static void main(String[] args) {
        List<Triple<Integer, String, String>> tripleList = new ArrayList<>();
        tripleList.add(Triple.of(100, "Japan", "Tokyo"));
        tripleList.add(Triple.of(200, "Italy", "Rome"));
        tripleList.add(Triple.of(300, "France", "Paris"));

        for (Triple<Integer, String, String> triple : tripleList) {
            System.out.println("Triple left = " + triple.getLeft());
            System.out.println("Triple right = " + triple.getRight());
            System.out.println("Triple middle = " + triple.getMiddle());
        }
    }

}

輸出:

三左 = 100
三重權利 = 東京
三重中間=日本
三左 = 200
三重權利 = 羅馬
三重中間=意大利
三左 = 300
三重權利 = 巴黎
三重中間=法國

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM