`

递归去除集合中的空格(集合中可能包括集合,Map、List)

    博客分类:
  • java
 
阅读更多
    /** 
     * 递归去除集合中所有的字符串的空格
     * <功能详细描述>
     * @param param 请求参数
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static Map<String, Object> trimR(Map<String, Object> param)
    {
        if (null != param && param.size() > 0)
        {
            // 集合不为空则开始递归去除字符串的空格
            for(Map.Entry<String, Object>  entry : param.entrySet())
            {
                param.put(entry.getKey(), subTrimR(param.get(entry.getKey())));
            }
        }
        return param;
    }
    
    @SuppressWarnings("all")
    private static Object subTrimR(Object subValue)
    {
        if (null == subValue)
        {
            return subValue;
        }
        else if (subValue instanceof String)
        {
            subValue = ((String)subValue).trim();
        }
        else if (subValue instanceof Map)
        {
            Map<String, Object> subParam = (Map<String, Object>)subValue;
            for(Map.Entry<String, Object>  entry : subParam.entrySet())
            {
                subParam.put(entry.getKey(), subTrimR(subParam.get(entry.getKey())));
            }
        }
        else if (subValue instanceof List)
        {
            List<Object> subParam = (List<Object>)subValue;
            for (int i = subParam.size() - 1; i >= 0; i--)
            {
                // 获取处理之后的参数
                Object temp = subTrimR(subParam.get(i));
                // 删除掉指定位置的值
                subParam.remove(i);
                // 将参数从新放入指定位置
                subParam.add(i, temp);
            }
        }
        return subValue;
    }
分享到:
评论

相关推荐

    Java xml 转 map

    3. **处理嵌套结构**:在递归过程中,如果遇到嵌套的元素节点,可以在Map中使用List来保存多个相同的键对应的值。或者,如果结构允许,可以创建嵌套的Map来保持原始的层次关系。 4. **返回结果**:当遍历完所有节点...

    PHP清除数组中所有字符串两端空格的方法

    array_map函数提供了一种简洁的方式来递归处理数组中的所有元素,而while循环则提供了一种更基础但同样有效的遍历方法。这两种方法都能有效地清除数组中的字符串两端空格,提升数据的准确性和程序的健壮性。

    数据结构图的遍历及拓扑排序

    if(map-&gt;maplist[j].id==0&&tag[j]==0)//下一条边节点入度减一,并判断之后入度是否为零且未被访问过 { queue[++real]=j;//让每一个未被访问到的且入度为0的节点进栈 tag[j]=1;//进栈…… } p=p...

    2021-2022计算机二级等级考试试题及答案No.19834.docx

    - Java中的集合框架提供了一系列可以存储任意对象的类,如List、Set、Map等,统称为**集合**。 ### 12. Java静态方法 - **静态方法**只能访问类中的静态成员,不能直接访问实例成员。因此,此说法错误。 ### 13. ...

    2021-2022计算机二级等级考试试题及答案No.16270.docx

    20. 集合的区别:List允许重复元素且有序,Set不允许重复元素且无序,Map存储键值对。 21. 域名解析:edu.cn是教育机构的域名。 22. C语言函数:C语言中函数定义不能嵌套,但可以嵌套调用。 23. 递归调用:通常...

    华为OD机试C卷- 考古学家(Java & JS & Python).md-私信看全套OD代码及解析

    使用递归来遍历所有可能的排列组合,并将结果存储在`List`中。 4. **结果输出**: 对于每一种组合,将其转换为字符串形式并输出。 #### Java实现 Java版本的实现采用了递归的方式来进行全排列计算,并使用`TreeSet`...

    Python cookbook.pdf

    这样不仅提高了代码的可读性,也减少了编写过程中的错误可能。 **1.3 Getting a Value from a Dictionary(从字典获取值)** 访问字典中的值可以通过键名进行,如: ```python value = my_dict['key'] ``` 如果键...

    n个整数的最大公约数,n由键盘输入

    numbers = list(map(int, input("请输入n个整数,用空格分隔:").split())) # 计算最大公约数 print("这n个数的最大公约数为:", gcd_n_numbers(numbers)) ``` 在这个程序中,`map(int, input().split())`用于获取...

    AIC的Java课程1-6章

     能够使用类Arrays和Collections中的方法操作数组和集合。  知道实现比较器(Comparable,Comparator)用于排序算法(多态性)。  [*]了解同步包装和不可修改包装。 第12章 IO与串行化 2...

    python 24点游戏

    nums = list(map(int, input("请输入四个1到13之间的数字,用空格分隔:").split())) result = calculate(nums) if result is not None: print("成功!结果是:", result) else: print("失败,无法得出24。") ...

    leetcode答案-leetcode:我对LeetCode问题的回答

    在LeetCode的C++解决方案中,可能会用到STL(Standard Template Library)中的容器(如vector、list、set、map等)和算法,以及自定义类来实现特定的数据结构。 Python,是一种高级通用型编程语言,它的设计理念...

    最新Java面试宝典pdf版

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    freemarker总结

    list指令是一个迭代输出指令,用于迭代输出数据模型中的集合,list指令的语法格式如下: &lt;#list sequence as item&gt; ... &lt;/#list&gt; 上面的语法格式中,sequence就是一个集合对象,也可以是一个表达式,但该表达式将返回...

    Java面试宝典-经典

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    java面试题大全(2012版)

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    java面试宝典2012

    65、去掉一个Vector集合中重复的元素 50 66、Collection 和 Collections的区别。 51 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 51 68、你所知道的集合类都...

    Java面试宝典2012版

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类...

Global site tag (gtag.js) - Google Analytics