在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. 使用示例

  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);
    
相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

自知自省

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值