在Java中使用元组类型的利器javatuples 浅浅的花香味﹌ 2022-03-19 02:16 893阅读 0赞 ### 1. 前言 ### Java本身并没有内置元组这一项特性,要使用元组必须自行实现,所幸现在这些编程语言都支持泛型, 实现非内置元组也变的异常简单, 但是毕竟是非语言内置的语法元素,使用起来肯定不如原生元组来的便捷。 下面介绍一个第三方的Java元组库类库,名称叫做Javatuples,有自己的官方主页,[javatuples][] ,在Java元组库领域差不多起着垄断的地位了。javatuples是最简单的Java类库之一。设计目标是提供一组在Java中可以使用“tuples”的类。 ### 2. 什么是“tuples” ### 一个tuple就是一个相互之间不需要有关联的对象的序列。比如:\[23, “Saturn”, java.sql.Connection@li734s\]可以看做是一个具有三个元素的tuple(一个triplet),包含一个Integer、一个String、一个JDBC Connection对象。 **Tuples和Lists/Arrays的比较:** * Lists (X\[\])和Arrays (X\[\]): > (1)可以包含“任意”数量的元素。 > (2)所有元素必须是X的实例。 * Tuples: > (1)只能包含固定数量的元素。 > (2)元素类型任意。 > (3)类型安全。 ### 3. javatuples的tuple类 ### * javatuples的tuple类 Unit<A> (1 element) Pair<A,B> (2 elements) Triplet<A,B,C> (3 elements) Quartet<A,B,C,D> (4 elements) Quintet<A,B,C,D,E> (5 elements) Sextet<A,B,C,D,E,F> (6 elements) Septet<A,B,C,D,E,F,G> (7 elements) Octet<A,B,C,D,E,F,G,H> (8 elements) Ennead<A,B,C,D,E,F,G,H,I> (9 elements) Decade<A,B,C,D,E,F,G,H,I,J> (10 elements) ### 4. 使用示例 ### 1. **创建Java Pair元组** Pair<A, B> pair = new Pair<A, B>(value1, value2); 2. **创建Java Triplet元组** Triplet<A, B, C> triplet = new Triplet<A, B, C>(value1, value2, value3); [javatuples]: https://github.com/javatuples/javatuples
还没有评论,来说两句吧...