tuple 元组
Pair.of 和 new Tuple 区别
Pair是 Apache Commons Lang 库中提供的一个简单的键值对数据结构。Pair.of是一个静态方法,用于快速创建Pair实例。特点:
- 来源:
org.apache.commons.lang3.tuple.Pair。 - 数据结构:键值对,包含
left和right两个字段。 - 用途:适合存储简单的两个值的组合,例如键值对、坐标等。
- 不可变性:
Pair本身可以是不可变的或可变的,具体取决于使用的是ImmutablePair还是MutablePair。 - 方法:
Pair.of(left, right):创建一个Pair实例。- 可以通过
getLeft()和getRight()方法访问键值。
javaimport org.apache.commons.lang3.tuple.Pair; Pair<String, Integer> pair = Pair.of("key", 123); System.out.println("Left: " + pair.getLeft()); // 输出: Left: key System.out.println("Right: " + pair.getRight()); // 输出: Right: 123- 来源:
Tuple是 Vavr(一个函数式编程库)或其他类似库提供的一个更通用的元组数据结构。它可以表示任意数量的元素(从 1 到 N 元组)。特点:
- 来源:
io.vavr.Tuple(或者其他类似库的Tuple实现)。 - 数据结构:泛化的元组,可以包含任意数量的元素(如
Tuple2、Tuple3、TupleN)。 - 用途:适合函数式编程风格,通常用于返回多个值或临时组合多个值。
- 不可变性:通常是不可变的(具体取决于库实现)。
- 方法:
- 可以通过构造器或静态方法
Tuple.of(...)创建。 - 使用
._1,._2,._3等方法访问元素。
- 可以通过构造器或静态方法
- 来源:
- java
import io.vavr.Tuple; import io.vavr.Tuple2; Tuple2<String, Integer> tuple = Tuple.of("key", 123); System.out.println("First: " + tuple._1); // 输出: First: key System.out.println("Second: " + tuple._2); // 输出: Second: 123