微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JTuple 元组的意义主要实现元组操作样例引入要求 JDK8 Java 语言版本的元组数据类型

程序名称:JTuple 元组的意义主要实现元组操作样例引入要求 JDK8

授权协议: Apache

操作系统: 跨平台

开发语言: Java

JTuple 元组的意义主要实现元组操作样例引入要求 JDK8 介绍

JTuple

Java 语言版本的元组数据类型,实现了元组类型的特性(不可变、 可迭代)以及常用操作方法

特点:轻量级,无依赖,线程安全

元组的意义

元组最重要的意义是用来实现多值返现。 很多时候我们需要返回一组值,更可怕的是这组值的类型可能并不完全一样,比如 http
请求时,有请求的返回码(int)以及响应报文(String)

对于 Java
人员来说,遇到这种情况时,一般的解决方案是编写一个类,类里只有2个属性,分别是以上2个,然后返回给调用者。是不是有种胸闷的感觉。折腾,造孽啊。

或者就返回一个列表,但是因为类型不统一,只能用 List
,后续处理的代码的可读性会很差,我相信任何一个技术水平过关或者有职业操守的程序员都不会这么做。

元组的出现,就是为了解决这种情况的,很多年轻的语言( PythonScala )都内置了元组,本项目就是让 Java
开发人员也可以享受到元组带来的编程时的便捷和快乐。

主要实现

类名 描述
Tuple 元组抽象,实现元组数据结构已经常用操作方法
Tuple0 元组,不包含任何元素
Tuple1 只包含1个元素的元组
Tuple2 只包含2个元素的元组
Tuple3 只包含3个元素的元组
Tuple4 只包含4个元素的元组
TupleN 包含N个元素的元组

元组操作

操作API 说明
add 元组合并
foreach 元组迭代
forEachWithIndex 元组带序号迭代
swap 元组反转
toList 元组转成列表
get 获取元组一个元素
contains 元组中是否包含某个元素
subTuple 截取元组
equals 比较2个元组内容是否相同
toString 输出字符串表示的元组,如: (123, 456)
repeat 重复元组内的所有元素

样例

Tuple2 tuple2 = Tuple2.with("test", 123);
log.debug("first:{}", tuple2._0);//test
log.debug("second:{}", tuple2._1);//123


TupleN tuple = TupleN.with("hello", 123, true, 186.5);
log.debug("toString:{}", tuple.toString());//(hello, 123, true, 186.5)


Tuple1 tuple1 = Tuple1.with("hello");
Tuple2 tuple2 = Tuple2.with("world", "!");
Tuple3 tuple3 = Tuple3.with(1, 2, 3);
log.debug("add:{}", tuple1.add(tuple2).toString());//(hello, world, !)
log.debug("add:{}", tuple1.add(tuple2, tuple3).toString());//(hello, world, !, 1, 2, 3)


TupleN tuple = TupleN.with("hello", 123, true, 186.5);
log.debug("swap:{}", tuple.swap().toString());//(186.5, true, 123, hello)


Tuple2 tuple2 = Tuple2.with("a", "b");
log.debug("repeat:{}", tuple2.repeat(3).toString());//(a, b, a, b, a, b)

引入(要求 JDK8)

com.github.sd4324530
JTuple
1.1.0

JTuple 元组的意义主要实现元组操作样例引入要求 JDK8 官网

https://git.oschina.net/pyinjava/jtuple

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐