hashmap 我们知道他是乱序的,然后自己进行排序或利用treemap,今天做支付宝支付的时候,从官方下载的demo中看见一段代码实现了有序性,记录下
主要是利用了
List<String> keys = new ArrayList<String>(map.keySet());
贴代码:
Map<String, String> keyValues = new HashMap<String, String>(); keyValues.put("app_id", app_id); keyValues.put("charset", "utf-8"); keyValues.put("method", "alipay.trade.app.pay"); keyValues.put("sign_type", rsa2 ? "RSA2" : "RSA"); keyValues.put("timestamp", "2016-07-29 16:55:53"); keyValues.put("version", "1.0");
List<String> keys = new ArrayList<String>(map.keySet()); StringBuilder sb = new StringBuilder(); for (int i = 0; i < keys.size() - 1; i++) { String key = keys.get(i); String value = map.get(key); sb.append(buildKeyValue(key, value, true)); sb.append("&"); }打印出sb即可知道是按升序排列