[英]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.