Java的元组类型整理
来源:互联网 发布:淘宝微淘点赞软件 编辑:程序博客网 时间:2024/06/05 15:47
// 1元组 Unit<String> u = new Unit<String>("xo"); // 2元组 Pair<String,Integer> p = Pair.with("xo", 1217); // 3元组 Triplet<String,Integer,Double> triplet = Triplet.with("xo", 1217, 1.0); //... KeyValue<String,String> kv = KeyValue.with("xo", "1217"); LabelValue<String,String> lv = LabelValue.with("xo", "1217");
另外,我们经常在Java中想返回“一个”键值对Pair,该怎么做?
(1)Apache Struts1的LabelValueBean
- LabelValueBean lv = new LabelValueBean("xo", "1217");
(2)Guava的Maps.immutableEntry
- Map.Entry<String,Integer> entry2 = Maps.immutableEntry("xo", 1217);
(3)Apache commons-collections的KeyValue
- Map.Entry<String,Integer> entry3 = new DefaultMapEntry("xo", 1217);
- KeyValue<String,Integer> kv = new DefaultKeyValue("xo", 1217);
(4)Apache commons-lang3的Pair
- Map.Entry<String,Integer> entry4 = new ImmutablePair<String, Integer>("xo", 1217);
(5)Apache HttpClient的NameValuePair
- NameValuePair nv = new BasicNameValuePair("xo", "1217");
(6)Android的Pair
- Pair<String, Integer> p = new Pair<String, Integer>("xo", 1217);
。。。。。。等等还有很多,你也可以自己扩展Map.Entry或者封装Class。
还有,Java 6提供AbstractMap.SimpleEntry<K,V>和AbstractMap.SimpleImmutableEntry<K,V>
- Map.Entry<String,Integer> entry1 = new AbstractMap.SimpleEntry<String, Integer>("xo", 1217);
把这两个Entity作为静态来嵌入到标示为abstract的AbstractMap里,这个API给的是相当的奇怪!
javatuples是一个很简单的lib,它没有什么华丽的功能,就是提供了支持返回多个元素的一些类。
https://github.com/javatuples/javatuples
版本:javatuples-1.2.jar
最多支持10个元素:
- Unit<A> (1 element)
- Pair<A,B> (2 elements)
- Triplet<A,B,C> (3 elements)
- Quartet<A,B,C,D> (4 elements)
- Quintet<A,B,C,D,E> (5 elements)
- Sextet<A,B,C,D,E,F> (6 elements)
- Septet<A,B,C,D,E,F,G> (7 elements)
- Octet<A,B,C,D,E,F,G,H> (8 elements)
- Ennead<A,B,C,D,E,F,G,H,I> (9 elements)
- Decade<A,B,C,D,E,F,G,H,I,J> (10 elements)
常用的2元组Pair:
- KeyValue<A,B>
- LabelValue<A,B>
参考资料: http://rensanning.iteye.com/blog/2068554
阅读全文
0 0
- Java的元组类型整理
- C#的元组Tuple类型
- 理解scala的元组类型
- 从头认识java-13.2 利用元组的方式返回多类型对象
- Python元组类型
- 145,元组类型
- swift元组类型
- swift元组类型
- 9.元组类型
- python元组类型
- 元组、列表类型
- java 引用类型整理
- Java学习整理系列之Java枚举类型的使用
- Java学习整理系列之Java枚举类型的原理
- Java学习整理系列之Java枚举类型的原理
- Java学习整理系列之Java枚举类型的使用
- Java学习整理系列之Java枚举类型的原理
- Java学习整理系列之Java枚举类型的使用
- Codeforces 276D Little Girl and Maximum XOR【贪心】
- 全面升级Android面试之热更新问题
- Material Design 你要的都在这里了(持续跟新)
- jdbc中的事务回滚管理
- 获取下个月Java和sql的两种实现
- Java的元组类型整理
- phpstorm 2016.2.1最新版本离线激活方法(内含激活码
- 伪类和伪元素的区别
- hibernate-jpa中@Embeddable注解的类查询
- 将折旧表分配至公司代码时提示公司代码分录不完全解决方案
- NLP中jieba分词的用法(一)
- uart
- getWidth( )和getMeasuredWith( )
- hdu 2049 不容易系列之考新郎 && 对错排的详解