什么是 Java 中的三元组?

新手上路,请多包涵

我遇到过如下所示的代码:

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

Triple 是什么,应该如何使用?

原文由 astro8891 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

当您想一次保存 3 个值并且可以传递不同的数据类型时, Triple 很有用。如果你只是想学习,那么下面是它的用法示例,但如果你想在代码中使用,那么我建议你使用 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 中的内置类。

原文由 UsamaAmjad 发布,翻译遵循 CC BY-SA 4.0 许可协议

考虑 3 个值的“元组”!

许多编程语言提供了有效处理“固定”长度但每个条目类型不同的列表的方法。

那个 Triple 类是为您提供类似东西的 Java 方式。像一对,但多了一个条目。

从本质上讲,固定长度的元组允许您根据某种“排序”“松耦合”不同类型的多个值。

原文由 GhostCat 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题