map与jsonObject

想要的数据格式为:
[{"第一章":[{"1_第一节":["sectionId": 1]},{"1_第二节":[sectionId": 2]} },  
 {"第二章":[{"2_第一节":["sectionId": 3]},{"2_第二节":[sectionId": 4]]} }]
Map<String,Object> dataMap = new HashMap<>();
Map<String,Object> sectionMap = new HashMap<>();
sectionMap.put("1_第一节", new HashMap<String,Integer>().put("sectionId",1));
sectionMap.put("1_第二节", new HashMap<String,Integer>().put("sectionId",2));
dataMap.put("第一章", sectionMap);

此时dataMap中添加sectionMap,会因sectionMap的改变dataMap也会变化,它只是引用了sectionMap,而不是将其中的值传了进去,能想象到的一种方法是用jsonObject。(可能应该有其它方法)可能在前后台数据传递json类数据时,jsonobject可能更方便些。

发现一个有趣的现象,原本以为第一个花费的时间会比第二种少,没想到正好相反。具体原因不知道,我猜是第一种方法,是在执行add方法时还要在执行一个discard方法,这样会占用更多的内存,又或许是因为java里的某种机制原因。

//        花费时间:446 470  409  505
//        JSONObject jsonObject = (JSONObject) jsonArray.get(i);
//        jsonArray1.add(jsonObject.discard("contents"));
//
//        花费时间:410 387 399
//        JSONObject jsonObject = (JSONObject) jsonArray.get(i);
//        JSONObject jsonObject2 =jsonObject.discard("contents");
//        jsonArray1.add(jsonObject2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值