Java将Map对象按字典序排列,并且封装成URL的工具类

原创 2016年05月30日 10:05:28
/**
     *
     * 方法用途: 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序),并且生成url参数串<br>
     * 实现步骤: <br>
     *
     * @param paraMap   要排序的Map对象
     * @param urlEncode   是否需要URLENCODE
     * @param keyToLower    是否需要将Key转换为全小写
     *            true:key转化成小写,false:不转化
     * @return
     */
    public static String formatParaMap(Map<String, String> paraMap, boolean urlEncode, boolean keyToLower)
    {
        String buff = "";
        Map<String, String> tmpMap = paraMap;
        try
        {
            List<Map.Entry<String, String>> infoIds = new ArrayList<Map.Entry<String, String>>(tmpMap.entrySet());
            // 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
            Collections.sort(infoIds, new Comparator<Map.Entry<String, String>>()
            {

                @Override
                public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2)
                {
                    return (o1.getKey()).toString().compareTo(o2.getKey());
                }
            });
            // 构造URL 键值对的格式
            StringBuilder buf = new StringBuilder();
            for (Map.Entry<String, String> item : infoIds)
            {
                if (StringUtils.isNotBlank(item.getKey()))
                {
                    String key = item.getKey();
                    String val = item.getValue();
                    if (urlEncode)
                    {
                        val = encode(val, CommonConstant.ENCODING_UTF8);
                    }
                    if (keyToLower)
                    {
                        buf.append(key.toLowerCase() + "=" + val);
                    } else
                    {
                        buf.append(key + "=" + val);
                    }
                    buf.append("&");
                }

            }
            buff = buf.toString();
            if (buff.isEmpty() == false)
            {
                buff = buff.substring(0, buff.length() - 1);
            }
        } catch (Exception e)
        {
            throw new SysException(e.getMessage());
        }
        return buff;
    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HTTPS Java

public static String sendHttpsUrlRequestPost(String url, String content, String chatset)     {    ...

java中对map的字典序排序

java中对map的字典序排序,sha1加密

常见排序算法小结

排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 ...

Map直接转换成Url参数串

public static String mapToFormData(Map, String> map, boolean isURLEncoder) throws UnsupportedEncodin...

SortedMap的用法

package Map; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java...

java如何得到GET和POST请求URL和参数列表

java如何得到GET和POST请求URL和参数列表

Java Map按键排序和按值排序

Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。 按键排序(sort by key) jdk...
  • warhin
  • warhin
  • 2011-12-25 16:31
  • 75399

java中实现HashMap中的按照key的字典顺序排序输出

关键代码 HashMap maptest =new HashMap(); maptest.put("1天","day1"); maptest.put("5天","day5")...
  • bwgang
  • bwgang
  • 2012-08-17 23:43
  • 17770

JSON字符串转换为Map

本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下: package com.zkn.newlearn.json; import com.alibaba.fastjson.JS...
  • zknxx
  • zknxx
  • 2016-08-22 22:59
  • 47716

String转换到Map结构

最近工作中遇到一个问题,就是需要将一个Map 通过toString得到的字符串反转到Map,网上找了没有对应的相关的功能,因此自己写了一个
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)