本文实例讲述了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;

//System.out.println(DigestUtils.shaHex("jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW×tamp=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程序设计有所帮助。

字典序 java_java实现对map的字典序排序操作示例相关推荐

  1. java字符串字典排序_java实现对map的字典序排序操作示例

    本文实例讲述了java实现对map的字典序排序操作.分享给大家供大家参考,具体如下: java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t ...

  2. java poi读取word中附件_java用poi实现对word读取和修改操作

    java编程要实现对word的操作没有vb那种编程语言来得容易,得借助一些开源组件,其中就包括jacob.poi等, 而poi应用得最为广泛,对word2003和2007的读和写word操作都十分方便 ...

  3. java用poi实现对word读取和修改操作

    java编程要实现对word的操作没有vb那种编程语言来得容易,得借助一些开源组件,其中就包括jacob.poi等, 而poi应用得最为广泛,对word2003和2007的读和写word操作都十分方便 ...

  4. python如何操作ppt_Python实现对PPT文件进行截图操作的方法

    本文实例讲述了Python实现对PPT文件进行截图操作的方法.分享给大家供大家参考.具体分析如下: 下面的代码可以为powerpoint文件ppt进行截图,可以指定要截取的幻灯片页面,需要本机安装了p ...

  5. python编辑ppt图片_Python实现对PPT文件进行截图操作的方法

    本文实例讲述了Python实现对PPT文件进行截图操作的方法.分享给大家供大家参考.具体分析如下: 下面的代码可以为powerpoint文件ppt进行截图,可以指定要截取的幻灯片页面,需要本机安装了p ...

  6. java map字典序_java中对map的字典序排序

    java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115& ...

  7. 基于Python的高校勤工俭学工资管理系统——实现对excel表格的数据操作(xwlings库)

    基于Python的高校勤工俭学工资管理系统 1 需求概述 1.1 需求分析 勤工俭学是指学校组织的或学生个人从事的有酬劳动,用以助学.在我国,许多高校借以对学生进行劳动技术教育,培养正确的劳动观点和态 ...

  8. python中排序从小到大_Python实现对特定列表进行从小到大排序操作示例

    本文实例讲述了Python实现对特定列表进行从小到大排序操作.分享给大家供大家参考,具体如下: 1.在系统内新建文件rizhireplacelist.txt root@kali:~# cd pytho ...

  9. python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...

    本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...

最新文章

  1. dell服务器网卡em1改成eth0
  2. 跟我学大数据分析之四:“钱”去哪儿了?
  3. SpringBoot 页面跳转后css和js效果都无效了
  4. leetcode:Minimum Depth of Binary Tree【Python版】
  5. 解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法
  6. ubuntu 14.04 编译android4.0 出现gcc-version.sh: line 11: cc: command not found错误解决方法
  7. python canvas画移动物体_Python GUI编程入门(25)-移动Canvas对象
  8. 胶囊网络不同实现代码
  9. 蚂蚁金服 TRaaS 技术风险防控平台解密
  10. linux/unix 基本概念的认识(sha-bang 、PPA)
  11. windows 环境下.Net使用Redis缓存
  12. M5000 全谱直读光谱仪
  13. 管家婆显示服务器端没有软件狗,管家婆找不到加密狗怎么办.doc
  14. 2018年湖南省高中数学联赛(A)卷试题
  15. Excel2010创建包含数据有效性的xls文件,再打开时有效性变无效
  16. Excel图标美化技巧
  17. 推荐用于环境识别的机器人摄像头
  18. C/C++内存管理器
  19. HashMap遍历和使用
  20. Python 正则表达式详解(re 库)

热门文章

  1. 22.什么是terms查询?terms查询和term查询的区别是什么?如何使用terms查询?嘻哈的简写笔记——Elastic Search
  2. 无界鼠标 Mouse Without Borders
  3. OracleRMAN备份与恢复之二:数据恢复
  4. YARN Registry DNS启动提示“53端口被占用”错误的解决方法
  5. ITK学习笔记(七) ITK旋转方向位置不变
  6. Java-Class-C:org.springframework.http.MediaType
  7. 商用飞机机舱内饰的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. JavaScript运算符:viod
  9. 告别2021,迎接2022
  10. 常见后台有效代码(第一期)