参考这里:
var population = new Tuple(
"New York", 7891957, 7781984,
7894862, 7071639, 7322564, 8008278);
Scala最多支持22个元素的元组,参考这里:
val t = new Tuple4(4,3,2,1)
val t = (4,3,2,1) // syntactic sugar
val sum = t._1 + t._2 + t._3 + t._4
C++(STL)的Tuple,参考这里:
tuple t(5, "foo", "bar");
cout << t.get<1>(); // outputs "foo"
先看看Java中如果想返回“一个”键值对Pair,该怎么做?
(1)Apache Struts1的LabelValueBean
LabelValueBean lv = new LabelValueBean("rensanning.iteye.com", "9527");
(2)Guava的Maps.immutableEntry
Map.Entry entry2 = Maps.immutableEntry("rensanning.iteye.com", 9527);
(3)Apache commons-collections的KeyValue
Map.Entry entry3 = new DefaultMapEntry("rensanning.iteye.com", 9527);
KeyValue kv = new DefaultKeyValue("rensanning.iteye.com", 9527);
(4)Apache commons-lang3的Pair
Map.Entry entry4 = new ImmutablePair("rensanning.iteye.com", 9527);
(5)Apache HttpClient的NameValuePair
NameValuePair nv = new BasicNameValuePair("rensanning.iteye.com", "9527");
(6)Android的Pair
Pair p = new Pair("rensanning.iteye.com", 9527);
。。。。。。等等还有很多,你也可以自己扩展Map.Entry或者封装Class。
Java 6提供AbstractMap.SimpleEntry和AbstractMap.SimpleImmutableEntry
Map.Entry entry1 = new AbstractMap.SimpleEntry("rensanning.iteye.com", 9527);
把这两个Entity作为静态来嵌入到标示为abstract的AbstractMap里,这个API给的是相当的奇怪!
javatuples是一个很简单的lib,它没有什么华丽的功能,就是提供了支持返回多个元素的一些类。
https://github.com/javatuples/javatuples
版本:javatuples-1.2.jar
最多支持10个元素:
Unit (1 element)
Pair (2 elements)
Triplet (3 elements)
Quartet (4 elements)
Quintet (5 elements)
Sextet (6 elements)
Septet (7 elements)
Octet (8 elements)
Ennead (9 elements)
Decade (10 elements)
常用的2元组Pair:
KeyValue
LabelValue
// 1元组
Unit u = new Unit("rensanning.iteye.com");
// 2元组
Pair p = Pair.with("rensanning.iteye.com", 9527);
// 3元组
Triplet triplet = Triplet.with("rensanning.iteye.com", 9527, 1.0);
//...
KeyValue kv = KeyValue.with("rensanning.iteye.com", "9527");
LabelValue lv = LabelValue.with("rensanning.iteye.com", "9527");
参考:
http://tech.puredanger.com/2010/03/31/do-we-want-a-java-util-pair/
http://mail.openjdk.java.net/pipermail/core-libs-dev/2010-March/003995.html
分享到:
2014-05-20 10:58
浏览 25814
评论
2 楼
seu_04004414
2015-07-21
总结的很666666666
1 楼
di1984HIT
2014-07-22
写的很好~