配对(Pair) 从方法返回两个值时特别有用
返回多个元素的情况,这时我们大多数时间都是使用数组或者map或者json的方式来实现的
Pair是一个抽象类,这个类是定义基本API的抽象实现,它指的是左右两个元素,它也实现了Map.Entry接口,也就是key是左元素,value是右元素
市面上的实现
javafx.util
Pair<Integer, String> pair =newPair<>(1,”One”);
Integerkey=pair.getKey();
Stringvalue=pair.getValue();
AbstractMap.SimpleEntry 和AbstractMap.SimpleImmutableEntry
AbstractMap.SimpleEntry<Integer, String> entry =newAbstractMap.SimpleEntry<>(1,”one”);
Integerkey=entry.getKey();
Stringvalue=entry.getValue();
不可变配对,除了配置的值不能修改,尝试修改会抛出UnsupportedOperationException异常。
Apache Commons提供的Pair、MutablePair、ImmutablePair详解
ImmutablePair不可变的左右元素对
MutablePair可以改变值得Pair左右元素对
Pair<Integer, Integer> pair = Pair.of(1,10);//同ImmutablePair.of(1, 10)
pair = MutablePair.of(1,10);
Integerleft=pair.getLeft();
Integerright=pair.getRight();
扩展使用:Triple、MutableTriple、ImmutableTriple 一次性返回三个对象
common.lang3一般为必导的包。所以我建议使用这里面的额数据结构