本文实例讲述了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<String,String> map=new HashMap<String,String>(); map.put("jsapi_ticket", jsapi_ticket); map.put("timestamp", timestamp+""); map.put("nonceStr", nonceStr); map.put("url", url); Collection<String> keyset= map.keySet(); List list=new ArrayList<String>(keyset); Collections.sort(list); //这种打印出的字符串顺序和微信官网提供的字典序顺序是一致的 for(int i=0;i<list.size();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程序设计有所帮助。
本文向大家介绍python对字典进行排序实例,包括了python对字典进行排序实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。 具体实现方法如下: 程序运行结果为: 希望本文所述对大家Python程序设计的学习有所帮助。
本文向大家介绍Python实现的列表排序、反转操作示例,包括了Python实现的列表排序、反转操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现的列表排序、反转操作。分享给大家供大家参考,具体如下: 排序: 使用sorted方法和列表的sort方法: sorted方法适用范围更广,sort方法只有列表有。 运行结果: [{'a': '23'}, {'a': '12'}
本文向大家介绍JS实现简单表格排序操作示例,包括了JS实现简单表格排序操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现简单表格排序操作。分享给大家供大家参考,具体如下: 运行效果: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript遍历算法
问题内容: 我想在Swift中对字典进行排序。我有一本字典,例如: 等,我希望它像 等等 我在SO上尝试了许多解决方案,但没有人为我工作。我正在使用XCode6 Beta 5,在它上面有一些正在给编译器错误,在一些解决方案中有例外。因此,任何可以发布字典排序工作副本的人。 问题答案: 编辑: 上面代码中的排序数组仅包含键,而值必须从原始字典中检索。但是,也是(键,值)对的一对,我们可以使用全局函数
本文向大家介绍Java Map 按key排序和按Value排序的实现方法,包括了Java Map 按key排序和按Value排序的实现方法的使用技巧和注意事项,需要的朋友参考一下 一、理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 Naviga
rank ▲ ✰ vote url 11 867 379 1107 url 用字典的值对字典进行排序 我有个字典,字典的值来自于数据库:一个是字符串,一个是数字.字符串是唯一的,所以键就是字符串. 我可以用键来排序,但是怎么用值来排序呢? 注:我已经看过另一个问题怎样对列表中的字典的键值对字典进行排序?,或许这种方法可以,但是我确实只需要一个字典,我想看看还有其他更好的方法. 对字典进行排序是不可