在java中创建自定义元组数据类型
介绍
用例
使用列表作为元组
String userName = "Sam";
Integer age =23;
List customer = Arrays.asList(userName,age);
System.out.println("customer name : "+customer.get(0));
System.out.println("customer age : "+customer.get(1));实现自定义元组类
一对
import java.io.Serializable;
public class Tuple2 implements Serializable {
private static final long serialVersionUID = -2344986941139471507L;
private final T val1;
private final U val2;
public Tuple2(final T val1, final U val2) {
this.val1 = val1;
this.val2 = val2;
}
public static Tuple2 of(final T val1, final U val2){
return new Tuple2(val1,val2);
}
public T getVal1() {
return val1;
}
public U getVal2() {
return val2;
}
@Override
public String toString() {
return "Pair{" +
"val1=" + val1 +
", val2=" + val2 +
'}';
}
} 三胞胎
import java.io.Serializable;
public class Tuple3 implements Serializable {
private static final long serialVersionUID = -5193340612637235968L;
private final T val1;
private final U val2;
private final V val3;
public Tuple3(final T val1, final U val2, final V val3) {
this.val1 = val1;
this.val2 = val2;
this.val3 = val3;
}
public static Tuple3 of(final T val1, final U val2, final U val3){
return new Tuple3(val1,val2,val3);
}
public T getVal1() {
return val1;
}
public U getVal2() {
return val2;
}
public V getVal3() {
return val3;
}
@Override
public String toString() {
return "Tuple3{" +
"val1=" + val1 +
", val2=" + val2 +
", val3=" + val3 +
'}';
}
} 客户代码
public static void main(String[] args) {
// setup tuple
Tuple2 pair = new Tuple2<>("Sam Lee", 23);
// get tuple
System.out.println(pair.getVal1());
// setup tuple
Tuple2 pair1 = Tuple2.of(10, "Done");
System.out.println(pair1.getVal1());
// setup tuple
Tuple3 triplet = new Tuple3<>("Sam Lee", 23, 123);
System.out.println(triplet.toString());
} 使用库
org.apache.commons
commons-lang3
3.12.0
ImmutablePair customer = ImmutablePair.of("Sam", 23);
System.out.println(customer.toString());
MutablePair customer = MutablePair.of("Sam", 23);
System.out.println(customer.toString());
customer.setRight(30);
System.out.println(customer.toString()); 为什么 Java 没有内置元组?
结论
关注七爪网,获取更多APP/小程序/网站源码资源!
| 留言与评论(共有 0 条评论) “” |