一篇文章帶你搞懂Iterator接口的用法
一、Iterator接口
(一)在項(xiàng)目開發(fā)中,很多時(shí)候需要遍歷集合中所有元素。大多數(shù)會(huì)選擇for循環(huán)、foreach循環(huán)等。Iterator接口是Java集合框架中的其中之一,它和Collection、Map接口是不同的。Iterator是用來(lái)遍歷Collection集合中元素,Iterator對(duì)象被稱為迭代器。
(二)Iterator常用的方法:
1.boolean hasNext():判斷集合中是否存在下一個(gè)遍歷元素,如果還有元素沒被遍歷,返回true;反之,返回false。
2.Object next():返回集合中的下一個(gè)元素。
3.void remove():刪除集合中上一次的next()方法返回的元素。
4.void forEachRemaining():Java1.8中新增的默認(rèn)方法,它是對(duì)剩余的每個(gè)元素執(zhí)行操作,直到所有元素都已經(jīng)處理或拋出異常。
二、Iterator接口中boolean hasNext()方法、Object next()方法
1.boolean hasNext():判斷集合中是否存在下一個(gè)遍歷元素,如果還有元素沒被遍歷,返回true;反之,返回false。
2.Object next():返回集合中的下一個(gè)元素。
3.例子的實(shí)現(xiàn):
- import java.util.ArrayList;
- import java.util.Iterator;
- public class t3 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //創(chuàng)建ArrayList集合
- ArrayList al=new ArrayList();
- al.add("Java");
- al.add("C語(yǔ)言");
- al.add("Python");
- //獲取Iterator對(duì)象
- Iterator it=al.iterator();
- //hasNext()方法
- while(it.hasNext()){
- //next()方法
- String s = (String)it.next();
- System.out.println(s);
- }
- }
- }
運(yùn)行的結(jié)果是:

三、Iterator接口中void remove()方法
1.void remove():刪除集合中上一次的next()方法返回的元素。
2.例子的實(shí)現(xiàn):
- import java.util.ArrayList;
- import java.util.Iterator;
- public class t3 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //創(chuàng)建ArrayList集合
- ArrayList al=new ArrayList();
- al.add("軟件測(cè)試");
- al.add("HTML5");
- al.add("Vue.js");
- //獲取Iterator對(duì)象
- Iterator it=al.iterator();
- //hasNext()方法
- while(it.hasNext()){
- //next()方法
- String s = (String)it.next();
- System.out.println(s);
- if(s.equals("Vue.js")){
- //remove()方法
- it.remove();
- }
- }
- //刪除元素后打印集合元素
- System.out.println(al);
- }
- }
運(yùn)行的結(jié)果是:

四、 Enumeration接口
1.Enumeration接口用法和Iterator接口很相似,JDK提供一個(gè)Vector集合,這個(gè)集合是List接口的一個(gè)實(shí)現(xiàn)類,Vector類中有一個(gè)element()方法返回Enumeration對(duì)象,然后通過這個(gè)對(duì)象遍歷集合中的元素。
2.Enumeration對(duì)象遍歷Vector集合例子:
- import java.util.*;
- public class t3 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //創(chuàng)建Vector對(duì)象
- Vector v=new Vector();
- v.add("Java");
- v.add("進(jìn)階");
- v.add("學(xué)習(xí)");
- v.add("交流");
- //獲取Enumeration對(duì)象
- Enumeration e=v.elements();
- //判斷對(duì)象是否還有更多的元素
- while(e.hasMoreElements()){
- Object o=e.nextElement();
- System.out.println(o);
- }
- }
- }
運(yùn)行的結(jié)果是:

五、總結(jié)
本文主要介紹了Iterator接口、Iterator接口常用方法,Enumeration接口。Iterator是用來(lái)遍歷Collection集合中元素,Iterator對(duì)象被稱為迭代器。通過例子介紹如何使用Iterator接口中boolean hasNext()方法、Object next()方法、void remove()方法。Enumeration接口實(shí)質(zhì)上也是遍歷集合中的元素。希望大家通過本文的學(xué)習(xí),對(duì)你有所幫助!