当前位置: 首页 > news >正文

网站页面设计优化方案网站建设制作服务

网站页面设计优化方案,网站建设制作服务,盱眙有做公司网站的吗,我做夫人那些年网站登录迭代器的简单使用 在遍历容器时#xff0c;我们可以使用for循环或者是增强for循环#xff0c;但是不同的集合结构在遍历时#xff0c;我们要针对集合特点采取不同的方式#xff0c;比如List是链表#xff0c;我们可以直接当做数组处理#xff0c;但Map是Key—Value的形式…迭代器的简单使用   在遍历容器时我们可以使用for循环或者是增强for循环但是不同的集合结构在遍历时我们要针对集合特点采取不同的方式比如List是链表我们可以直接当做数组处理但Map是Key—Value的形式我们只有获取了键名才能去遍历集合内容。   很麻烦对吧   还好JDK为我们提供了一个接口-------Iterator(迭代器)迭代器为各种容器提供了公共的操作接口。这样使得对容器的遍历操作与其具体的底层实现相隔离达到解耦的效果。   查看Iterator的API我们得知该接口共有3个方法          查看API发现Collection实现了该接口,也就是说Collection的所有子实现类可使用Iterator的方法,同时在Collection中定义了一个方法iterator()     使用该方法iterator()要求容器返回一个Iterator对象。第一次调用Iterator的next()方法时它返回序列的第一个元素。注意iterator()方法是java.lang.Iterable接口,被Collection继承。   那我们如何使用迭代器呢   示例代码如下关键代码的解释说明已经在注释部分给出将不再做赘述。   示例代码 1 /**2 3 * VX:java8733 获取更多资源4 5 */6 7 public class TestIterator {8 9 10 11 public static void main(String[] args) { 12 13 ListString list new ArrayList(); 14 15 list.add(and); 16 17 list.add(try); 18 19 list.add(your); 20 21 list.add(best); 22 23 24 25 //使用迭代器,对集合Arraylist中的元素进行取出 26 27 //调用集合的方法iterator() 获取Iterator接口的实现类对象() 28 29 IteratorString itlist.iterator(); 30 31 System.out.println(list.iterator().getClass());//打印的内容是 class java.util.ArrayList$Itr 既是我们的接口的实现类对象 32 33 //接口实现类对象,调用方法hasNext()判断集合中是否有元素 34 35 boolean b it.hasNext(); 36 37 System.out.println(b); 38 39 //接口的实现类对象,调用方法next()取出集合中的元素 40 41 String s it.next(); 42 43 System.out.println(it.next()s); 44 45 while(it.hasNext()){ 46 47 /* 48 49 * 这里将不会输出and,因为我们调用一次hasNext,内部的指针就会指向下一个元素 50 51 */ 52 53 System.out.println(it.next()); 54 55 } 56 57 58 59 } 60 61 62 63 } 64 65   会遇到的问题(并发修改异常)    我们来设想如下的场景: 在list集合迭代元素中对元素进行判断一旦条件满足就添加一个新元素。代码如下 1 /**2 3 * VX:java8733 获取更多资源4 5 */6 7 8 9 ListString list2 new ArrayListString(); 10 11 list2.add(abc); 12 13 list2.add(def); 14 15 list2.add(g); 16 17 18 19 IteratorString itlist2.iterator(); 20 21 while(it.hasNext()){ 22 23 String strit.next(); 24 25 if(g.equals(str)){ 26 27 //该操作会导致程序异常: ConcurrentModificationException 28 29 List2.add(b); 30 31 } 32 33 } 34 35 System.out.println(list2);     这是为什么呢?我们会发现当我们使用迭代器遍历元素的时候 使用了集合方法修改了集合的长度,这是不允许的。程序抛出异常ConcurrentModificationException,这个异常指的是当方法检测到对象的并发修改但不允许这种修改时就会抛出此异常。       迭代器是依赖于集合而存在的在判断成功后集合的中新添加了元素而迭代器却不知道所以就报错了这个错叫并发修改异常。   那我们应该如何解决呢?   首先在迭代时尽量不要使用集合的方法操作元素。如果要在迭代时对元素操作。我们可以通过ListIterator迭代器来操作元素。   将上面的代码做如下的修改:     1 /**2 3 * VX:java8733 获取更多资源4 5 */6 7 8 9 ListIteratorString itlist2.listIterator(); 10 11 while(it.hasNext()){ 12 13 String strit.next(); 14 15 if(a.equals(str)){ 16 17 //子接口ListIterator包含add()方法 18 19 it.add(b); 20 21 } 22 23 }     转载于:https://www.cnblogs.com/lotus-wmm/p/8318129.html
http://www.huolong8.cn/news/135290/

相关文章:

  • 虹口建设机械网站制作南宁网站建设贴吧
  • 单位网站建设费合同印花税做淘宝客导购网站推广
  • 网站建设毕业设计论文长沙建网站理
  • 旅游网站排名全球spark怎么做网站数据库
  • 一级a做爰精免费网站在线文字logo设计
  • 做网站优化哪家好网页价格是什么意思
  • 网上报建贵州建设局网站网络直播平台
  • 做调研的网站一般有哪些如何做垂直门户网站
  • 网站代理被抓合肥高端网站建设公司哪家好
  • 无锡品牌网站建设中小企业建站可以怎么做
  • 心悦每周免做卡网站深圳企业招聘
  • 南浔建设网站全国企业信息公开系统
  • 蒙阴网站优化企业网站推广案例
  • 网络公司如何开网站怎么制作图片和文字一起
  • 网站开发合同付款方式宜良网站建设
  • 苏州seo网站优化软件网站建设书案例
  • 建设网站的协议虚拟主机服务
  • 网站建设新手教程微信开发商
  • 网站分析实例河北建设厅网站三类人
  • 厂房验收 技术支持 东莞网站建设用什么软件做网站最简单
  • 做公司企业网站标准尺寸超级外链推广
  • 做网站推广如何哪个协会要做网站建设啊
  • 可以做企业网站企业邮箱在哪里注册
  • 如何用网站设计制作东莞专业微网站建设
  • 野外美食网站设计欣赏sun0769东莞阳光网
  • 网站加盟城市分站租网站服务器一个月多少钱
  • 东莞免费网站制作常见的网站推广方式有哪些
  • 网站模块化兰州专业网站建设公司哪家好
  • 网站建设设计 网络服务重庆网站建站推广
  • 免费动态素材网站服务器租用大概多少钱