前边为了实现一个功能,只是需要List<Map<Stirng,List>>这样的数据结构,但是却需要先定义了这样的一个数据结构 Map<String,List<List<List<String>>>>,并且代码写的比较臃肿,不易于后人阅读和维护。如果使用javatuples有可能又是另一种思路
Martin Fowler 在《重构...》这本书提到过,只能写出一个让计算机理解的程序只是一个普通程序员,只有写出让人理解的程序才是牛逼的程序员。
因为就算你写的是坨狗屎,我们的计算机也会帮我们转换成自己想要的。
javatuples:
javatuples 1.2是一个演变版本。现在元组是可比较的,可排序的,并且已经添加了新的静态方法来从迭代中获取元组,即使这些迭代持有比新元组需要的元素更多的元素。
javatuples 为元组提供一到十个元素:
1 Unit<A> (1 element) 2 Pair<A,B> (2 elements) 3 Triplet<A,B,C> (3 elements) 4 Quartet<A,B,C,D> (4 elements) 5 Quintet<A,B,C,D,E> (5 elements) 6 Sextet<A,B,C,D,E,F> (6 elements) 7 Septet<A,B,C,D,E,F,G> (7 elements) 8 Octet<A,B,C,D,E,F,G,H> (8 elements) 9 Ennead<A,B,C,D,E,F,G,H,I> (9 elements) 10 Decade<A,B,C,D,E,F,G,H,I,J> (10 elements)
- 类型安全
- 不变的
- 可迭
- 可序列化
- Comparable(implements Comparable <Tuple >)
- 实现equals(...)和hashCode()
- 实现toString()
javatuples 元组提供一些实用方法,如contains(...),containsAll(...),indexOf(...)或lastIndexOf(...),它们的工作方式与集合中的方式完全相同。更多的我就不讲了 ,链接贴在下边,请自行观阅,我认为你自己看会更有意思
我只是想到了开发中的一些思路,至于java元组类库的介绍请参照这位仁兄 http://www.cnblogs.com/aspwebchh/p/6645732.html
参照: https://github.com/javatuples/javatuples
http://www.javatuples.org/index.html
时间: 2024-10-18 16:18:38