黑马程序员---迭代器Iterator的使用及其相关方法
来源:互联网 发布:软件研发部门职责 编辑:程序博客网 时间:2024/05/21 22:25
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
Iterator接口方法:
Collection接口没有做到对于对象的遍历,但是Iterator接口可以。
ArrayList类顾名思义,它的底层用的是数组作为存储空间。LinkedList类顾名思义,它的底层用的是链表作为存储空间,但是这些存储空间很可能不是像ArrayList那样是连续的,而靠指针联系起来。所以由于底层的结构不一样,所以写不出统一的遍历的方法。
但是各种容器怎么遍历,只有容器本身它自己最清楚。所以Iterator要求容器返回一个实现了Iterator接口的对象回来。用这个对象来遍历容器里的不同元素。
所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象
这里就涉及到了多态,返回来的这个对象实现了Iterator接口,这就是继承;既然实现了这个接口,就重写了方法,这就是重写;比如Collection c= new HashSet();Iteratot i=c.iterator()这就是父类引用指向子类对象
Iterator接口在java.util软件中
可以把iterator看作一个游标
这个接口有三个方法:
方法boolean hasNext() 如果仍有元素可以迭代,则返回 true。即判断游标右边是否有元素
方法E next() 返回迭代的下一个元素。返回游标右边的元素,然后游标右移。
方法void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。即游标移动后删除游标左边的元素(游标移动前方法E next()返回的游标右边的元素),在执行E next()后此方法只能执行一次。
实现Iterator接口就实现了这三个方法。
Iterator对象的remove方法时在迭代过程中删除元素唯一安全的方法。例如Collection c= new HashSet();Iteratot i=c.iterator()时,可以利用i.remove( )而不可以利用c.remove( )
增强的for语句了解即可
增强的for语句对于遍历array或者Collection的时候相当简便,其余时候不推荐使用
set接口
实现Set接口的类它像一个集合——没有顺序且不重复
List接口
List接口是Collection的子接口,实现了List接口的容器类中的元素是有序的,而且不可以重复。
List容器中的元素对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。
接口的重要方法有:
方法E get(int index) 返回列表中指定位置的元素。
方法E set(int index, E element) 用指定元素替换列表中指定位置的元素(可选操作)。即把旧值作为返回值
方法boolean add(E e) 向列表的尾部添加指定的元素(可选操作)。
方法void add(int index,E element) 在列表的指定位置插入指定元素(可选操作)。
方法int indexOf(Object o) 返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。显然,它也用了equals方法。
Java.util.Collections(注意不是Collection接口,且Collections类中的所有方法均是静态的)提供了一些静态方法实现了基于List容器的一些常用方法。如下:
方法void sort(List)对List容器内的元素排序。
方法void shuffle(List)对List容器内的对象进行随机排序。
方法void shuffle(List)对List容器内的对象进行随机排序。
方法void fill(List)用一个特定的对象重写整个list容器,即全部替换为它自己
- 黑马程序员---迭代器Iterator的使用及其相关方法
- 【黑马程序员】方法的使用
- 黑马程序员---集合体系的继承关系图。顶层接口Collection中的方法,迭代器Iterator使用和原理,List派系特点
- 黑马程序员--java之反射及其相关
- 黑马程序员__String及其相关类
- 黑马程序员------集合的遍历Iterator/ListIterator
- 黑马程序员——迭代器Iterator
- 黑马程序员——集合框架的使用及其注意事项
- 黑马程序员——block的概念及其基本使用
- 黑马程序员 —— 注释的介绍及其使用
- 黑马程序员_两种遍历集合的方法Iterator接口和foreach循环
- 黑马程序员-clone方法的使用详解
- 黑马程序员——方法的相关知识点
- 黑马程序员——OC---类的方法相关
- 使用迭代器(Iterator)来实现链表的相关操作
- c++ iterator(迭代器)分类及其使用
- c++ iterator(迭代器)分类及其使用
- c++ iterator(迭代器)分类及其使用
- 坚持
- oracle查询:取出每组中的第一条记录
- 使用4种不同的方式访问数组中的元素
- 长时间整理的xhtml网页设计规范
- android混淆使用
- 黑马程序员---迭代器Iterator的使用及其相关方法
- 防止vps主机被别人绑定域名解析
- Google Local Search API 简介
- 提示sql_server_服务不存在或拒绝访问
- JQuery模拟拖拽
- oracle XML DB的使用
- poj 2502 Subway dijkstra基础 !!!!入门题
- VC6编译的程序发生ESP错误
- tomcat连接数设置