java list传值问题

函数说明:
生成一个 url

语法:
link(serviceName{,jspArgNames,jspArgValues{,reportArgNames,reportArgValues}})
参数说明:
serviceName 服务名称
jspArgNames jsp 参数名称数组,可为空,元素类型需为字符串型
jspArgValues jsp 参数值数组,需与 jspArgNames 元素个数相同
reportArgNames 报表参数名称数组,可为空,元素类型需为字符串型
reportArgValues 报表参数值数组,需与 reportArgNames 元素个数相同

 示例: 

     例1:link("ServiceName",list("jspArg1","jspArg2"), list("value1",2),"count",5) 

返回 ServiceName?jasArg1=value1&jspArg2=2&params=count=5

这个具体要怎么实现呢?
有点不明白.

提供给你一份拼url的一部分api 在这个基础上改即可
[url]

private String append(String url, String key, int value) {

    return append(url, key, String.valueOf(value));
}

/**
 * 为url 参加参数对儿
 * 
 * @param url
 * @param key
 * @param value
 * @return
 */
private String append(String url, String key, String value) {
    if (url == null || url.trim().length() == 0) {
        return "";
    }

    if (url.indexOf("?") == -1) {
        url = url + "?" + key + "=" + value;
    } else {
        if(url.endsWith("?")) {
            url = url + key + "=" + value;
        } else {
            url = url + "&" + key + "=" + value;
        }
    }

    return url;
}
[/url]

[code="java"]public static String url(String ServiceName,Mapparams)
{
String url=ServiceName+"?";
if(!params.isEmpty())
{
int count=0;
for (Map.Entry map :params.entrySet()) {
url+=map.getKey()+"="+map.getValue()+"&";
}
url=url.substring(0,url.lastIndexOf("&"));
}
return url;
}
//测试代码 map1 key 是参数名 value是参数值
Mapmap1=new HashMap();
map1.put("age1", 1);
map1.put("age2", 2);
map1.put("age3", 3);
map1.put("age4", 4);
String s=url("http://localhost:8080/demo", map1);
System.err.println(s);[/code]

你规定格式奇数存放参数偶数存放值,然后遍历list 索引
奇数 是map 的key
偶数 是map 的vlaue;
然后调用我的方法