Wondercease

浙ICP备2022017321号

Pair、MutablePair、ImmutablePair详解

配对(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一般为必导的包。所以我建议使用这里面的额数据结构

发表评论

您的电子邮箱地址不会被公开。