Java中没有Pair<L,R>,有什么好理由吗?与这个c++构造等价的是什么?我宁愿避免重新实现我自己的。
似乎1.6提供了类似的东西(AbstractMap.SimpleEntry<K,V>),但这看起来相当复杂。
Java中没有Pair<L,R>,有什么好理由吗?与这个c++构造等价的是什么?我宁愿避免重新实现我自己的。
似乎1.6提供了类似的东西(AbstractMap.SimpleEntry<K,V>),但这看起来相当复杂。
当前回答
对于Java这样的编程语言,大多数程序员用来表示类似对的数据结构的备用数据结构是两个数组,并且数据通过相同的索引访问
例如:http://www-igm.univ-mlv.fr/ lecroq /字符串/ node8.html # SECTION0080
这并不理想,因为数据应该绑定在一起,但结果也相当便宜。此外,如果你的用例需要存储坐标,那么最好构建自己的数据结构。
我的图书馆里就有这样的东西
public class Pair<First,Second>{.. }
其他回答
试试VAVR元组。
vavr不仅有一组很好的元组类型,而且对函数式编程也有很好的支持。
简单的方法Object[] -可以作为一个几何体元组使用
Pair是一个很好的东西,作为一个复杂泛型的基本构造单元,例如,这是我的代码:
WeakHashMap<Pair<String, String>, String> map = ...
它和Haskell的元组是一样的
地图。入口界面非常接近c++对。看看具体的实现,比如AbstractMap。SimpleEntry和AbstractMap。SimpleImmutableEntry 第一项是getKey(),第二项是getValue()。
pair是pair的一个简单实现。 它可以在jdk1.7.0_51\lib\tools.jar中找到。
除了org.apache.commons.lang3.tuple.Pair之外,它不仅仅是一个接口。