在Java中使用元组类型的利器javatuples
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. 使用示例
创建Java Pair元组
Pair<A, B> pair = new Pair<A, B>(value1, value2);
创建Java Triplet元组
Triplet<A, B, C> triplet = new Triplet<A, B, C>(value1, value2, value3);
还没有评论,来说两句吧...