本文转载,意在学习开发快速便捷。

新建工具类

import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;public class SortUtils {/*** @param paraMap 参数* @param encode 编码* @param isLower 是否区分小写* @return*/public static String formatUrlParam(Map<String, String> param, String encode, boolean isLower) {String params = "";Map<String, String> map = param;try {List<Map.Entry<String, String>> itmes = new ArrayList<Map.Entry<String, String>>(map.entrySet());//对所有传入的参数按照字段名从小到大排序//Collections.sort(items); 默认正序//可通过实现Comparator接口的compare方法来完成自定义排序Collections.sort(itmes, new Comparator<Map.Entry<String, String>>() {@Overridepublic int compare(Entry<String, String> o1, Entry<String, String> o2) {// TODO Auto-generated method stubreturn (o1.getKey().toString().compareTo(o2.getKey()));}});//构造URL 键值对的形式StringBuffer sb = new StringBuffer();for (Map.Entry<String, String> item : itmes) {if (MyUtils.isNotBlank(item.getKey())) {String key = item.getKey();String val = item.getValue();val = URLEncoder.encode(val, encode);if (isLower) {sb.append(key.toLowerCase() + "=" + val);} else {sb.append(key + "=" + val);}sb.append("&");}}params = sb.toString();if (!params.isEmpty()) {params = params.substring(0, params.length() - 1);}} catch (Exception e) {return "";}return params;}
}

写个test

class Test {public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put("crTce", "200");map.put("bitTe", "测试标题");map.put("aonTent", "测试内容");map.put("drder_To", "1807160850122023");String url = SortUtils.formatUrlParam(map, "utf-8", false);System.out.println(url);}
}

输出结果:aonTent=%E6%B5%8B%E8%AF%95%E5%86%85%E5%AE%B9&bitTe=%E6%B5%8B%E8%AF%95%E6%A0%87%E9%A2%98&crTce=200&drder_To=1807160850122023

字段按照key进行字典升序排列相关推荐

  1. mysql按某个条件升序_问题描述大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例,下同):SELECT * FROM `MyTable` WHERE...

    问题描述 大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例,下同): SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ...

  2. python3字典升序排序_python3从零学习-4.2、内置数据类型

    内置标准类型: * Boolean(布尔) * Number(数字) * String(字符串) * List(列表) * Tuple(元组) * Sets(集合) * Dictionary(字典) ...

  3. python随机产生10个数然后前5个升序后5个降序_编写程序,生成包含 20 个随机数的列表,然后将前 10 个元素升序排列,后 10 个元素降序排列,并输出结果。_学小易找答案...

    [填空题]在 Python3.x 中 input() 函数接收到的用户输入数据一律为 ________ . [填空题]运算符% (可以.不可以)对浮点数进行求余数操作. [简答题]解释 Python ...

  4. mysql杠杆加号什么意思_对tb_book表中的数据,按ID序号进行升序排列,查询语句是什么?_学小易找答案...

    [单选题]修改数据库表结构用以下哪一项 ( ) [单选题]对于一个微小物理量,通常采用将其进行放大的方法实现测量,以下哪个不是物理实验方法? [单选题]扭摆实验中,为了测出金属匀质细杆绕质心对称轴的转 ...

  5. SQL-23 对所有员工的当前(to_date='9999-01-01')薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列...

    这题需要注意  题目描述 对所有员工的当前(to_date='9999-01-01')薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列 CREATE TABLE ...

  6. 数组的合并和升序排列_JavaScript - 数组排序 6 种常见算法是什么?

    前言 着急用的话,选择前两个就行了,后面的看看就好. 开发中,遇到数组排序的需求很频繁,这篇文章会介绍几个常见排序思路. 一.希尔排序(性能最好) 如果要从大到小排列,则 while(arr[n] & ...

  7. 数组的合并和升序排列_leetcode No.31 下一个排列

    题目链接: 下一个排列 - 力扣(LeetCode)​leetcode-cn.com 题目描述: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个 ...

  8. 数组的合并和升序排列_区间调度问题之区间合并

    读完本文,你可以去力扣拿下如下题目: 56.合并区间 ----------- 上篇文章用贪心算法解决了区间调度问题:给你很多区间,让你求其中的最大不重叠子集. 其实对于区间相关的问题,还有很多其他类型 ...

  9. SQL:查找某个班级的人数并按班级人数多少进行排列,查找各班年龄最小的女生的班级号,学号,姓名,出生日期并按班级号升序排列

    表:student 字段: studentnum(学号),studentname(学生姓名),classname(班级名称),sex(男:1,女:2),birthday(出生日期) 我现在数据库存储了 ...

最新文章

  1. frps server端配置_Docker 快速搭建 mock-server
  2. [C++] NULL VS nullptr
  3. “计算机艺术之父”、现代计算机技术先驱查理斯·苏黎去世,享年99岁
  4. 深入理解PHP中赋值与引用
  5. html5 video修改默认样式,HTML5中将video设置为背景的方法
  6. MongoDB服务重启及后台运行解决方法
  7. 机器学习非监督学习—k-means及案例分析
  8. orm2 中文文档 4.1 hasOne(多对一关系)
  9. post postman 传递数组对象_okhttp传递数组参数
  10. UML-类图-关键字如何使用?
  11. 回溯算法符号三角形java_算法设计与分析——符号三角形问题(回溯法)
  12. [AHK]定时运行脚本
  13. CAD中怎么旋转箭头符号?
  14. 小提琴弓是如何出现的?
  15. office2007在ppt中插入文件对象(可以单击打开)
  16. undefined is not a function错误解决
  17. 【电商】管理后台之账号管理
  18. 计算机课程和教学计划,计算机教学计划
  19. 计算机用word做海报,用Word设计制作广告海报实验.doc
  20. 与、或、非、同或、异或、蕴含的表示 C/C++

热门文章

  1. 机器学习数据处理-数据归一化
  2. 服务器中电池可以维修吗,电池修复到底有没有效果?一个维修工的遭遇揭开真相!...
  3. A Piece Of My Heart
  4. c++ Allocator
  5. 黑马程序员_学习日记2_飞行棋
  6. 开源CMSIS-DAP,资料合集
  7. 水声网络路由协议 vbf 原理与代码
  8. K-means 算法【基本概念篇】
  9. android学习链接
  10. python游戏联机后直接掉线_玩家:和你一起联机的人,掉线了吗