1 用HashMap实现一个链表的数据结构,要有增加,删除,遍历功能。2 自定义一个JSP的分页标签,可以跳转到第一页,前页,后页,最后一页。大家有什么好的想法,如果有相关代码,请让我参考一下。

解决方案 »

  1.   


    要是连你都知道,我就不再CSDN上混了。
      

  2.   

    以下观点供参考:
    1.数据都用hashMap存储
    用integer做为key
    类中维护一个minInteger
    和maxInteger这两个对应的value即为head 和tail
    增加的话maxInteger++
    把值放到hashMap中
    删除的话要遍历hashMap
    remove掉相应的key value
    遍历直接遍历hashMap就行了
    这种方法做起来可能maxInteger会越来越大
    期待好的解决方案
    2.搜索引擎,一堆又一堆的
    这里挂个jsprun论坛的分页代码
    直接包装成标签就OK了
    public static Map<String,Object> multi(int num,int perpage,int curpage,String mpurl,int maxpages,int page,boolean autogoto,boolean simple,String ajaxtarget,boolean isstaticurl) {
    Map<String,Object> multi=new HashMap<String,Object>();
    int realpages=1;
    if(num>perpage){
    ajaxtarget=ajaxtarget!=null?" ajaxtarget=\""+Common.htmlspecialchars(ajaxtarget)+"\" ":"";
    if(!isstaticurl){
    mpurl+=mpurl.indexOf("?")>=0?"&":"?";
    }
    int offset=2;
    realpages=(int)Math.ceil((float)num/(float)perpage);
    int pages = maxpages>0 && maxpages < realpages ? maxpages : realpages;
    int from=0;
    int to=0;
    if(page>pages){
    from=1;
    to=pages;
    }else{
    from=curpage-offset;
    to=from+page-1;
    if(from<1){
    to=curpage+1-from;
    from=1;
    if(to-from<page){
    to=page;
    }
    }else if(to>pages){
    from=pages-page+1;
    to=pages;
    }
    }
    StringBuffer multipage=new StringBuffer();
    multipage.append((curpage - offset > 1 && pages > page ? "<a href=\""+(isstaticurl?mpurl+"-1.html":mpurl+"page=1")+"\" class=\"first\""+ajaxtarget+">1 ...</a>" : ""));
    multipage.append((curpage > 1 && !simple ? "<a href=\""+(isstaticurl?mpurl+"-"+(curpage - 1)+".html":mpurl+"page="+(curpage - 1))+"\" class=\"prev\""+ajaxtarget+">&lsaquo;&lsaquo;</a>" : ""));
    for (int i = from; i <= to; i++) {
    multipage.append(i == curpage ? "<strong>"+i+"</strong>":"<a href=\""+(isstaticurl?mpurl+"-"+i+".html":mpurl+"page="+i)+(ajaxtarget.length()>0 && i == pages && autogoto ? "#" : "")+"\""+ajaxtarget+">"+i+"</a>");
    }
    multipage.append((curpage < pages && !simple ? "<a href=\""+(isstaticurl?mpurl+"-"+(curpage + 1)+".html":mpurl+"page="+(curpage + 1))+"\" class=\"next\""+ajaxtarget+">&rsaquo;&rsaquo;</a>" : ""));
    multipage.append(to < pages ? "<a href=\""+(isstaticurl?mpurl+"-"+pages+".html":mpurl+"page="+pages)+"\" class=\"last\""+ajaxtarget+">... "+realpages+"</a>" : "");
    multipage.append(!simple && pages > page && ajaxtarget.length()==0 ? "<kbd><input type=\"text\" name=\"custompage\" size=\"3\" onkeydown=\"if(event.keyCode==13) {window.location=\'"+(isstaticurl?mpurl+"-'+this.value+'.html'":mpurl+"page=\'+this.value")+"; return false;}\" /></kbd>" : "");
    multi.put("multipage", "<div class=\"pages\">"+(!simple ? "<em>&nbsp;"+num+"&nbsp;</em>" : "")+multipage+"</div>");
    }
    multi.put("maxpage",realpages);
    return multi;
    }
      

  3.   

    第一题就是让你写一个自己的容器,可参照LinkedList
    第二题如果写过分页,写过自定义tag,也不难
      

  4.   

    自定义标签的话 如果是上机我可以搜索下然后知道 因为我不会自定义标签(不熟悉)
    用HashMap实现一个链表的数据结构,要有增加,删除,遍历功能。
    这个他是让你用HASHMAP来实现 具体要利用HASHMAP的什么功能呢? 难道说KEY - VALUE - KEY - VALUE? 
    一个KEY跟VALUE关联 然后VALUE再作为另外一个的KEY? 我能联想到的就这么多了 真不知道为什么要用HASHMAP来实现...