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

企业电话号码大全优化大师手机版

企业电话号码大全,优化大师手机版,wordpress插件改图标,网站定制公司kinglinkIterator public interface IteratorE {} terator是一个接口#xff0c;它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。Iterator提供的API接口如下#xff1a; forEachRemaining(Consumer? super E action)#xff1a;为每个剩余元素执行给…Iterator public interface IteratorE {} terator是一个接口它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。Iterator提供的API接口如下 forEachRemaining(Consumer? super E action)为每个剩余元素执行给定的操作,直到所有的元素都已经被处理或行动将抛出一个异常 hasNext()如果迭代器中还有元素则返回true。 next()返回迭代器中的下一个元素 remove()删除迭代器新返回的元素。 例子 import java.util.*; public class TestIterator {public static void main(String[] args) {ArrayListString a new ArrayListString();a.add(aaa);a.add(bbb);a.add(ccc);System.out.println(Before iterate : a);IteratorString it a.iterator();while (it.hasNext()) {String t it.next();if (bbb.equals(t)) {it.remove();}}System.out.println(After iterate : a);} } 注意 1Iterator只能单向移动。 2Iterator.remove()是唯一安全的方式来在迭代过程中修改集合如果在迭代过程中以任何其它的方式修改了基本集合将会产生未知的行为。而且每调用一次next()方法remove()方法只能被调用一次如果违反这个规则将抛出一个异常。 ListIterator Interface ListIteratorE{} 包含的方法有 (1)双向移动向前/向后遍历. (2)产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引. (3)可以使用set()方法替换它访问过的最后一个元素. Iterator和ListIterator区别 我们在使用ListSet的时候为了实现对其数据的遍历我们经常使用到了Iterator(迭代器)。使用迭代器你不需要干涉其遍历的过程只需要每次取出一个你想要的数据进行处理就可以了。但是在使用的时候也是有不同的。List和Set都有iterator()来取得其迭代器。对List来说你也可以通过listIterator()取得其迭代器两种迭代器在有些时候是不能通用的Iterator和ListIterator主要区别在以下方面 1ListIterator有add()方法可以向List中添加对象而Iterator不能 2ListIterator和Iterator都有hasNext()和next()方法可以实现顺序向后遍历但是ListIterator有hasPrevious()和previous()方法可以实现逆向顺序向前遍历。Iterator就不可以。 3ListIterator可以定位当前的索引位置nextIndex()和previousIndex()可以实现。Iterator没有此功能。 4都可实现删除对象但是ListIterator可以实现对象的修改set()方法可以实现。Iierator仅能遍历不能修改。 因为ListIterator的这些功能可以实现对LinkedList等List数据结构的操作。其实数组对象也可以用迭代器来实现。 Iterable or each原理 其实for each循环内部也是依赖于Iterator迭代器只不过Java提供的语法糖Java编译器会将其转化为Iterator迭代器方式遍历。我们对以下for each循环进行反编译 for (Integer i : list) {System.out.println(i);} 反编译后 Integer i; for(Iterator iterator list.iterator(); iterator.hasNext(); System.out.println(i)){i (Integer)iterator.next(); } 有一个问题为什么不直接将hasNext()next()方法放在Iterable接口中其他类直接实现就可以了 原因是有些集合类可能不止一种遍历方式实现了Iterable的类可以再实现多个Iterator内部类例如LinkedList中的ListItr和DescendingIterator两个内部类就分别实现了双向遍历和逆序遍历。通过返回不同的Iterator实现不同的遍历方式这样更加灵活。如果把两个接口合并就没法返回不同的Iterator实现类了。
http://www.w-s-a.com/news/166664/

相关文章:

  • 建设网站 请示 报告wordpress会员制
  • 青岛建网站人做网站怎么赚钱广告
  • 网站建设哪家好公司跨境电商展会2023
  • 设计大神云集的网站是南通市 网站设计
  • 心理咨询网站模板企业画册封面设计
  • 做网站 南京网站建设的重难点分析
  • 深圳做网站980移动网站开发语言
  • 网站评论怎么做seo关键词优化方法
  • 市级部门网站建设自评报告网站优化文章怎么做
  • 可不可以异地建设网站学做网站培训班要多少钱
  • 茌平网站建设公司免费的云服务器有哪些
  • 手机网站单页面铜陵网站制作公司
  • 网站logo怎么做才清晰千库网官网首页登录
  • 山西省建设银行网站首页长沙网站建设制作
  • 襄阳市做网站 优帮云百度搜索次数统计
  • 自己做视频直播网站盐城做网站多少钱
  • 买个网站服务器多少钱重庆做的好的房产网站
  • 深圳定制建站网站建设推广关键词怎么设置
  • 宝山网站建设 网站外包修改wordpress版权
  • 建立网站的基本步骤新网站多久会被百度收录
  • 软件设计开发流程图廊坊关键词seo排名方案
  • 南山住房和建设局网站网站被k 多久恢复
  • 阿里买域名 电脑做网站做简历哪个网站好
  • 个人网站免费服务器单页网站的域名
  • 网站设计简单讲解小店怎么做网站
  • 校园网站的意义wordpress去除更新
  • 网站开发用python吗常用的网页开发工具有哪些
  • 北京市住房建设投资建设网站做商城网站要哪些流程
  • seo网站改版杭州建设局官网
  • 物流网站建设策划书泰然建设网站