谷歌的Gson解析及java的迭代器

        开发中,Json是很常用的数据格式,Android 自己提供了JSONObject和JSONArray两种数据类型供我们解析使用;相信大家对二者使用都很熟悉的。但将Json串解析为所需类型时候过于麻烦,针对每个解析需要写很多代码。。而且如果我们想将本地数据变为Json串,只能一个个拼,很容易出错。。

       为此goole提供了一个新的解析方式,Gson解析,对用也有JsonObject和JsonArray和安卓自带的很相似只有字母大小写区别,但这个使用特别方便,Json串转为需要数据格式或者反过来都很方便

 

使用场景:当需要本地存储数据且适宜采用长字符串可考虑用json船,向后台传复杂参数用json..  等等地方都可优先考虑 Gson解析。

具体使用可以查资料

 

 

        二:java的迭代器

迭代器的简单实用场景,事例代码

  1. List list=new ArrayList();  
  2.   
  3.       Map map=new HashMap();  
  4.   
  5.       for(int i=0;i<10;i++){  
  6.   
  7.           list.add(new String("list"+i) );  
  8.   
  9.           map.put(i, new String("map"+i));  
  10.   
  11.       }  
  12.   
  13.       Iterator iterList= list.iterator();//List接口实现了Iterable接口  
  14.   
  15.         while(iterList.hasNext()){  
  16.   
  17.           String strList=(String)iterList.next();  
  18.   
  19.           System.out.println(strList.toString());  
  20.   iterList.remove();  删除了List中对应的该元素
  21.       }  
  22.   
  23.       Iterator iterMap=map.entrySet().iterator();  
  24.   
  25.       while(iterMap.hasNext()){  
  26.   
  27.           Map.Entry  strMap=(Map.Entry)iterMap.next();  
  28.   
  29.           System.out.println(strMap.getValue());  
  30.   
  31.       }  

 

 

 

 

有人不禁要问这些好像for循环都能实现的,那为什么用这个呢。。下面看看连个对比

如果在for循环的过程中调用集合的remove()方法,就会导致循环出错,因为循环过程中list.size()的大小变化了,就导致了错误。 所以,如果想在循环语句中删除集合中的某个元素,就要用迭代器iterator的remove()方法,因为它的remove()方法不仅会删除元素,还会维护一个标志,用来记录目前是不是可删除状态,例如,你不能连续两次调用它的remove()方法,调用之前至少有一次next()方法的调用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值