第三次学JAVA再学不好就吃翔(part77)--迭代器遍历
學(xué)習(xí)筆記,僅供參考,有錯(cuò)必糾
文章目錄
- 集合
- 迭代器遍歷
- Iterator類
- Collection類的iterator方法
- 迭代器原理
- 舉個(gè)例子
集合
迭代器遍歷
- 迭代器概述
集合是用來存儲(chǔ)元素的,存儲(chǔ)的元素需要查看,那么就需要迭代(遍歷) 。
Iterator類
Iterator類是在java.util包下的一個(gè)類,用的時(shí)候需要導(dǎo)包,它是一個(gè)接口,不能被實(shí)例化。
- hasNext方法
如果仍有元素可以迭代,則返回 true。(換句話說,如果 next 返回了元素而不是拋出異常,則返回 true)。
- next方法
返回迭代的下一個(gè)元素。
Collection類的iterator方法
Iterator<E> iterator()
返回在此 collection 的元素上進(jìn)行迭代的迭代器。關(guān)于元素返回的順序沒有任何保證(除非此 collection 是某個(gè)能提供保證順序的類實(shí)例)。
迭代器原理
迭代器是對(duì)集合進(jìn)行遍歷,而每一個(gè)集合內(nèi)部的存儲(chǔ)結(jié)構(gòu)都是不同的,所以每一個(gè)集合存和取都是不一樣,那么就需要在每一個(gè)類中定義hasNext()和next()方法,這樣做是完全OK的,但是會(huì)讓整個(gè)集合體系過于臃腫,迭代器是將這樣的方法向上抽取出接口,然后在每個(gè)類的內(nèi)部定義自己迭代方式,這樣做的好處有二:第一,規(guī)定了整個(gè)集合體系的遍歷方式都是hasNext()和next()方法;第二,代碼有底層內(nèi)部實(shí)現(xiàn),使用者不用管怎么實(shí)現(xiàn)的,會(huì)用即可。
舉個(gè)例子
package com.guiyang.restudy3; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;import com.guiyang.bean.Student;@SuppressWarnings({ "rawtypes", "unchecked" })public class D3Iterator {public static void main(String[] args) {Collection c = new ArrayList();c.add(new Student("張三", 23)); //Object obj = new Student("張三",23);c.add(new Student("李四", 24));c.add(new Student("王五", 25));c.add(new Student("趙六", 26));//獲取迭代器Iterator it = c.iterator();//java.util.Iteratorwhile(it.hasNext()) {//System.out.println(it.next());Student s = (Student)it.next(); //向下轉(zhuǎn)型System.out.println(s.getName() + "..." + s.getAge());}}}
輸出:
張三...23 李四...24 王五...25 趙六...26總結(jié)
以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part77)--迭代器遍历的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第三次学JAVA再学不好就吃翔(part
- 下一篇: 五氧化二磷可以干燥什么气体