java 元组的数组_Java中使用元组

元组(Tuple)是固定数量的不同类型的元素的组合。元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。根据元素数量的不同,Vavr 总共提供了 Tuple0、Tuple1 到 Tuple8 等 9 个类。每个元组类都需要声明其元素类型。如 Tuple2表示的是两个元素的元组,第一个元素的类型为 String,第二个元素的类型为 Integer。对于元组对象,可以使用 _1、_2 到 _8 来访问其中的元素。所有元组对象都是不可变的,在创建之后不能更改。

元组通过接口 Tuple 的静态方法 of 来创建。元组类也提供了一些方法对它们进行操作。由于元组是不可变的,所有相关的操作都返回一个新的元组对象。在 清单 1 中,使用 Tuple.of 创建了一个 Tuple2 对象。Tuple2 的 map 方法用来转换元组中的每个元素,返回新的元组对象。而 apply 方法则把元组转换成单个值。其他元组类也有类似的方法。除了 map 方法之外,还有 map1、map2、map3 等方法来转换第 N 个元素;update1、update2 和 update3 等方法用来更新单个元素。

Python和Scala语言中有自带元组,Jdk中是没有这个数据类型的,虽然使用数组或者map也能达到想要的效果,但总归是没有元组方便。

比如说一个方法有多个返回值时,虽然可以用Object[]或者Map进行封装,但是在拆箱的时候类型会缺失,所以还是不太方便。Java中有很多元组库,这里推荐一个我经常使用的vavr,当然Tuple只是这个库中的一小部分,该库提供了强大的函数式编程的能力,可以像写Sc

你可能感兴趣的:(java,元组的数组)