Java遍历Map和List及嵌套使用

遍历Map和List及嵌套使用 原理都是一样的 自己测试着玩的

import java.util.*;
public class Test02 {
    public static void main(String[] args) {
//    /*
//    * List中的Map
//    * */
    List<Map<String,Object>> mapList = new ArrayList<>();
    Map<String, Object> map  = new HashMap<>();
    map.put("11","22");
    map.put("33","44");
    map.put("55","66");
    mapList.add(map);
    System.out.println("[数组]    这是输出整个List:"+mapList);
    mapList.forEach((str)->{
        System.out.println("{集合}    这是输出List中的Map"+str);
        System.out.println("[数组]    这是循环遍历Map中的数据:"+ "key:" + str.keySet()+"values: " +str.values());
        System.out.print("(字符串)   这是遍历的key: ");
        str.keySet().forEach(string ->{
            System.out.print(string+",");
        });
        System.out.println();
        System.out.print("(字符串)   这是遍历的values:  ");
        str.values().forEach(strings ->{
            System.out.print(strings+",");
        });
        System.out.println();
    });
        System.out.println("#########################################################################");
//    /*
//    * Map中的List
//    * */
    Map<String,List<String>> listMap = new HashMap<>();
    List<String> list = new ArrayList<>();
    list.add("AA");
    list.add("BB");
    list.add("CC");
    list.add("DD");
    listMap.put("1",list);
    List<String> list1 = new ArrayList<>();
    list1.add("aa");
    list1.add("bb");
    list1.add("cc");
    list1.add("dd");
    listMap.put("22",list1);
    System.out.println("{集合}    这是Map"+listMap);
    System.out.println("[数组]    这是Map中的键值  key:"+listMap.keySet()+"value: "+listMap.values()+" Entry:" +listMap.entrySet());
    listMap.values().forEach(strings -> {
        System.out.println("[数组]    这是Map中的values: "+strings);
        System.out.print("(字符串) 这是values值   List<String>:");
        strings.forEach(str ->{
            System.out.print(str+",");
        });
        System.out.println();
    });

    Map<List<String>,List<String>> listListMap = new HashMap<>();
    List<String> list2 = new ArrayList<>();
    list2.add("QQ");
    list2.add("EE");
    list2.add("WW");
    list2.add("RR");
    List<String> list3 = new ArrayList<>();
    list3.add("q");
    list3.add("e");
    list3.add("w");
    list3.add("r");
    listListMap.put(list2, list3);
    System.out.println(listListMap);
    System.out.println(listListMap.keySet());
    System.out.println(listListMap.entrySet());
    System.out.println(listListMap.values());
    listListMap.values().forEach(str->{
        System.out.println(str);
            str.forEach(string ->{
                System.out.print(string);
            });
        });
    Map<List<String>,Map<String,Object>>  mapMap = new HashMap<>();
    List<String> list5 = new ArrayList<>();
    list5.add("QQ");
    list5.add("EE");
    list5.add("WW");
    list5.add("RR");
    Map<String,Object> map1 = new HashMap<>();
    map1.put("11","22");
    map1.put("11","22");
    map1.put("11","22");
    mapMap.put(list5, map1);
    System.out.println(mapMap);
    for (Map.Entry<List<String>, Map<String, Object>> map2: mapMap.entrySet()){
        System.out.println(map2.getKey());
        System.out.println(map2.getValue());
    }
    mapMap.keySet().forEach(strings -> {
        System.out.println(strings);
            strings.forEach(str ->{
                System.out.print(str);
            });
        });
    System.out.println();
    System.out.println(mapMap.entrySet());
    System.out.println(mapMap.values());
    mapMap.values().forEach(str->{
        System.out.print(str);
        System.out.println(str.values());
        str.values().forEach(string ->{
            System.out.println(string);
        });
    });
    }
}
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,根据您的要求,我将代码嵌入到`CamelCaseResultTransformer`类中,使其能够将`java.sql.Date`转换成`java.util.Date`并设置到结果中。以下是修改后的代码: ```java import java.util.Date; import java.sql.Date; public class CamelCaseResultTransformer implements ResultTransformer { private static final long serialVersionUID = -401983103885372287L; @Override public List transformList(List collection) { return collection; } @Override public Object transformTuple(Object[] tuple, String[] aliases) { Map<String, Object> result = new LinkedHashMap<>(tuple.length); for (int i = 0; i < tuple.length; i++) { String alias = aliases[i]; if (alias.endsWith("_")) { alias = alias.substring(0, alias.length() - 1); } Object value = tuple[i]; if (value instanceof Date) { // 如果值是java.sql.Date类型,则将其转换成java.util.Date类型并设置到结果中 value = new Date(((Date) value).getTime()); } result.put(toCamelCase(alias), value); } return result; } private String toCamelCase(String inputString) { StringBuilder result = new StringBuilder(); boolean nextUpperCase = false; if (inputString != null && !inputString.isEmpty()) { for (int i = 0; i < inputString.length(); i++) { char currentChar = inputString.charAt(i); if (currentChar == '_') { nextUpperCase = true; } else { if (nextUpperCase) { result.append(Character.toUpperCase(currentChar)); nextUpperCase = false; } else { result.append(Character.toLowerCase(currentChar)); } } } } return result.toString(); } } ``` 在上述代码中,我们在`transformTuple()`方法中,判断值是否是`java.sql.Date`类型,如果是,则将其转换成`java.util.Date`类型,并将其设置到结果中。这样,我们就可以在查询结果中使用`java.util.Date`对象了。 注意,这里的日期转换方式仅适用于`java.sql.Date`和`java.util.Date`之间互转的情况,如果需要进行其他类型的日期转换,可能需要使用其他的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值