public  boolean add(Object element) {
    
     if(null == element){
     throw new IllegalArgumentException("element 不能为Null!");
     }
    
        elements[pointer] = element;
pointer = (pointer.get() + 1) % elements.length;
        
        elementsCount++;
        
        if(elementsCount >= elements.length){
elementsCount = elements.length;
         full.set(true);
        }
        
        return true;
    }
就是通过一个索引进行循环覆盖,
现在有个需求,
eg:查询时,假设每页显示10条数据,目前查到第二页,当点击下一页时,怎么知道第三页的数据,有没有被覆盖过(和先前查到第二页的时候相比)? 

解决方案 »

  1.   

    抱歉,实在看不懂。
    pointer是啥来的。
      

  2.   

    补充:假设当前在第一页,查询第一页10条数据时,第二页的数据为结果a,此时可理解成一个会话;单点击下一页时,此时查出的第二页数据结果b,当a b结果不完全相同,就以为着更新了
      
      

  3.   


            elements  这东西都没有定义,从哪来的?全局变量?兄弟,分页不是这么做的吧?如果需要的话,我可以传给你个小例子...代码贴出来太长了。可以给你说说思路,一般的分页都是在服务器端做,像判断是否有  上一页  下一页 以及 当前页码  总共多少页 总记录数等 这些属性以及逻辑可以封装在一个Pager 类里,然后每次页面往服务器端传过来一个当前页码,然后根据当前页调用持久层方法去取数据,数据库不同,分页查询的语句也不尽相同,google   baidu 会有很多。之后将Pager 这个类,放入request 中传到页面,jsp 读取Pager 的属性就OK 。这样一个简单的分页就搞定了,其实,无论多复杂的分页都是这个思路,实现手段上会有一定差别,像google 那种分页就稍微麻烦点...