java实现对map的字典序排序操作示例

网友投稿 467 2023-01-01


java实现对map的字典序排序操作示例

本文实例讲述了java实现对map的字典序排序操作。分享给大家供大家参考,具体如下:

java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN,搜索关键字“附录1-js-SDK使用权限签名算法”

import java.util.ArrayList;

import java.util.Collection;

import java.util.Collections;

import java.util.HashMap;

import java.util.List;

import org.apache.commons.codec.digest.DigestUtils;

import com.opensymphony.xwork2.ActionSupport;

public class Test extends ActionSupport {

//测试页面

public String test(){

return SUCCESS;

}

public static void main(String [] args){

String jsapi_ticket="kgt8ON7yVITDhtdwci0qef4Fd1u2d2iWwTE-nt2tSR7Me3FmWAhtxJa3QQCiMdLper4cUrqpDxkDJ6ljLgc7PA";

int timestamp=1460637652;

String nonceStr="C1WNnEpCwq4wa158";

String url="http://qq.test.com/test/index.html";

//字典序排序

HashMap map=new HashMap();

map.put("jsapi_ticket", jsapi_ticket);

map.put("timestamp", timestamp+"");

map.put("nonceStr", nonceStr);

map.put("url", url);

Collection keyset= map.keySet();

List list=new ArrayList(keyset);

Collections.sort(list);

//这种打印出的字符串顺序和微信官网提供的字典序顺序是一致的

for(int i=0;i

System.out.println(list.get(i)+"="+map.get(list.get(i)));

}

//微信官网写的按照字典序排序后的字符串

String sign="jsapi_ticket="+jsapi_ticket+"&noncestr="+nonceStr+"tamp="+timestamp+"&url="+url;

//http://System.out.println(DigestUtils.shaHex("jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnWtamp=1414587457&url=http://mp.weixin.qq.com?params=value"));

//微信返回的加密串

String signature=DigestUtils.shaHex(sign);//sha1加密

System.out.println(signature);

}

}

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:

http://tools.jb51.net/aideddesign/paixu_ys

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助http://。

System.out.println(list.get(i)+"="+map.get(list.get(i)));

}

//微信官网写的按照字典序排序后的字符串

String sign="jsapi_ticket="+jsapi_ticket+"&noncestr="+nonceStr+"tamp="+timestamp+"&url="+url;

//http://System.out.println(DigestUtils.shaHex("jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnWtamp=1414587457&url=http://mp.weixin.qq.com?params=value"));

//微信返回的加密串

String signature=DigestUtils.shaHex(sign);//sha1加密

System.out.println(signature);

}

}

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:

http://tools.jb51.net/aideddesign/paixu_ys

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助http://。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:商城系统接口设计(商城的设计与实现)
下一篇:接口测试工具哪些(接口测试工具哪些可以用)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~