Java元组Tuple使用实例--转载

原文地址:http://50vip.com/35.html

一、为什么使用元组tuple

    元组和列表list一样,都可能用于数据存储,包含多个数据;但是和列表不同的是:列表只能存储相同的数据类型,而元组不一样,它可以存储不同的数据类型,比如同时存储int、string、list等,并且可以根据需求无限扩展。

    比如说在web应用中,经常会遇到一个问题就是数据分页问题,查询分页需要包含几点信息:当前页数、页大小;查询结果返回数据为:当前页的数据记录,但是如果需要在前台显示当前页、页大小、总页数等信息的时候,就必须有另外一个信息就是:数据记录总数,然后根据上面的信息进行计算得到总页数等信息。这个时候查询某一页信息的时候需要返回两个数据类型,一个是list(当前也的数据记录),一个是int(记录总数)。当然,完全可以在两个方法、两次数据库连接中得到这两个值。事实上在查询list的时候,已经通过SQL查询得到总计录数,如果再开一个方法,再做一次数据库连接来查询总计录数,不免有点多此一举、浪费时间、浪费代码、浪费生命。言重了~在这种情况下,我们就可以利用二元组,在一次数据库连接中,得到总计录数、当前页记录,并存储到其中,简单明了!

二、源码实例

    二元组

Highlighter_78851" class="SyntaxHighlighter java">
Title: TwoTuple

Description: 两个元素的元组,用于在一个方法里返回两种类型的值

aram
aram
{
irst;
 
irst = a;

    扩展为三元组(按此可以任意扩展)

Highlighter_761875" class="SyntaxHighlighter java">
Title: ThreeTuple

Description: 三个元素的元组,用于在一个方法里返回三种类型的值

aram
aram
aram
{
 

    元组操作工具类、测试类(可按需自定义

Highlighter_561916" class="SyntaxHighlighter java">
Title: TupleUtil

Description:
元组辅助类,用于多种类型值的返回,如在分页的时候,后台存储过程既返回了查询得到的
方法实现,利用参数类型推断,编译器可以找出具体的类型
aram
aram
 
TwoTuple tuple(A a,B b) {
(a,b);
 
ThreeTuple tuple(A a,C c) {
(a,b,c);
goodsBeans = ();
,Integer> tupleUtil = new TupleUtil,Integer>(goodsBeans,totalProperty);
,Integer> twoTuple = TupleUtil.tuple(goodsBeans,totalProperty);
list = twoTuple.first;
stem.out.println(list);
stem.out.println(twoTuple.second);

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...