授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 开发工具Java开发工具
开源组织
地区 国产
投 递 者 愚_者
适用人群 未知
收录时间 2017-05-31

软件简介

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
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (6)

加载中
这个和javatuples 相比优势在哪呢
2017/06/17 17:35
回复
举报
打分: 推荐
还是有点用的 可以试试
2017/06/15 15:20
回复
举报
愚_者软件作者
打分: 力荐
自己顶一下吧
2017/06/15 10:51
回复
举报
+10086
2017/06/14 22:27
回复
举报
看到jdk8,普遍用上估计还得5年以上
2017/06/14 17:45
回复
举报
打分: 很差
没发现存在的意义
2017/06/14 12:37
回复
举报
更多评论
发表了资讯
04/28 09:04

JTuple 1.2.2 正式版发布,Java 语言也可以优雅地使用元组

JTuple 1.2.2 正式版发布了,本次更新内容: 新增count方法,用于统计某个数据在元组当中出现的次数 升级junit版本 项目地址: github:https://github.com/sd4324530/JTuple gitee:https://gitee.com/pyinjava/jtuple JTuple Java 语言版本的元组数据类型,实现了元组类型的特性(不可变、 可迭代)以及常用操作方法 轻量级,无依赖,线程安全 元组的意义 元组最重要的意义是用来实现多值返现。 很多时候我们需要返回一组值,更...

6
11
发表了资讯
2017/10/23 09:02

JTuple 1.2.1 正式版发布,更优雅的使用元组

JTuple 1.2.1 正式版发布了,本次更新内容: 1.删除了使用List构造元组的方法,简化使用 2.优化add方法,返回结果更匹配 JTuple Java 语言版本的元组数据类型,实现了元组类型的特性(不可变、 可迭代)以及常用操作方法 轻量级,无依赖,线程安全 元组的意义 元组最重要的意义是用来实现多值返现。 很多时候我们需要返回一组值,更可怕的是这组值的类型可能并不完全一样,比如http请求时,有请求的返回码(int)以及响应报文(...

8
13
发表了资讯
2017/06/29 09:07

JTuple 1.2.0 正式版发布,更优雅的使用元组

JTuple 1.2.0 正式版发布了,本次更新内容: 1.新增优雅工具类Tuples,实现优雅使用元组,如下: import static com.github.sd4324530.jtuple.Tuples.tuple; Tuple2<String, Integer> tuple = tuple("test", 123); 完整使用说明,请见:https://git.oschina.net/pyinjava/jtuple/blob/master/README.md 2.删除过期方法Tuple.withList 3.完善测试用例,完善文档 JTuple Java 语言版本的元组数据类型,实现了元组类型的特性...

9
19
发表了资讯
2017/06/20 09:00

JTuple 1.1.1 正式版发布,让 Java 支持元组数据类型

JTuple 1.1.1 正式版发布了,本次更新内容: 优化Tuple.get方法,可以根据需要自动强转成指定类型 支持元组列表(数组)排序:Tuple.sort 将Tuple.withList方法置为过期,下一版会删除,可以使用Tuple0~Tuple5以及TupleN对应方法代替 JTuple Java 语言版本的元组数据类型,实现了元组类型的特性(不可变、 可迭代)以及常用操作方法 轻量级,无依赖,线程安全 元组的意义 元组最重要的意义是用来实现多值返现。 很多时候我们需要...

5
14
发表了资讯
2017/06/14 09:25

JTuple 1.1.0 正式版发布,让 Java 支持元组数据类型

JTuple 1.1.0 正式版发布了,本次更新内容: 1. 调整Tuple1-Tuple4获取元素的方式,更人性化 2. 新增支持将元组转换成Stream 3. 新增Tuple5 4. 完善代码注释以及使用文档 JTuple Java 语言版本的元组数据类型,实现了元组类型的特性(不可变、 可迭代)以及常用操作方法 轻量级,无依赖,线程安全 元组的意义 元组最重要的意义是用来实现多值返现。 很多时候我们需要返回一组值,更可怕的是这组值的类型可能并不完全一样,比如h...

54
37
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
暂无内容
6 评论
49 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部