您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第三季学习笔记-集合框架Iterator接口
发布时间:2017-08-10 15:41:41编辑:雪饮阅读()
集合输出
前面我们已经学习了集合的基本操作,很多情况下,我们需要把集合的内容进行输出,也就是遍历集合。
遍历集合的方式有以下几种:
1、 Iterator
2、 ListIterator
3、 Enumeration
4、 foreach
其中Iterator的使用率最高。
Iterator
public interface Iterator<E>
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。
boolean hasNext() |
如果仍有元素可以迭代,则返回 true。 |
E next() |
返回迭代的下一个元素。 |
void remove() |
从迭代器指向的 collection 中移除迭代器返回的最后一个元素。 |
示例代码:
package com.vince.iterator;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class IteratorDemo {
/*
使用迭代器遍历集合
*/
public static void iterator(Collection<String> c){
//获取迭代器对象
Iterator<String> iter=c.iterator();
while(iter.hasNext()){
String s=iter.next();
System.out.println(s);
}
}
public static void main(String[] args) {
//list集合
List<String> list=new ArrayList<String>();
list.add("天天向上");
list.add("康熙来了");
list.add("非诚勿扰");
list.add("爸爸去哪儿");
iterator(list);
//set集合
System.out.println("----set集合遍历----");
Set<String> set=new HashSet<String>();
set.add("天天向上");
set.add("康熙来了");
set.add("非诚勿扰");
set.add("爸爸去哪儿");
iterator(set);
}
}
ListIterator
public interface ListIterator<E>
extends Iterator<E>
系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。
void add(E e) |
增加元素 |
boolean hasPrevious() |
判断是否有前一个元素 |
E previous() |
取出前一个元素 |
void set(E e) |
修改元素的内容 |
int previousIndex() |
前一个索引位置 |
int nextIndex() |
下一个索引位置 |
代码示例:
package com.vince.iterator;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIteratorDemo {
/*
使用ListIterator迭代器遍历集合
*/
public static void listIterator(List<String> list){
ListIterator<String> iter=list.listIterator();
//从前往后遍历
while(iter.hasNext()){
System.out.println(iter.next());
}
System.out.println("---从后往前遍历---");
//从后往前遍历(只有从前往后遍历完成才可以从后往前遍历,因为从前往后遍历完成后游标才能到末尾)
while(iter.hasPrevious()){
System.out.println(iter.previous());
}
}
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("星空卫视");
list.add("华娱卫视");
list.add("美亚卫视");
listIterator(list);
}
}
Enumeration
public interface Enumeration<E>
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。
注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
boolean hasMoreElements() |
判断是否有下一个元素 |
E nextElement() |
取出当前元素 |
foreach
在前面的知识讲解中,我们使用foreach来输出数组的内容,那么也可以输出集合中的内容。
在使用foreach输出的时候一定要注意的是,创建集合时要指定操作泛型的类型。
代码示例:
package com.vince.iterator;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
public class ForeachDemo {
/*
使用foreach迭代集合
*/
public static void foreach(Collection<String> c){
for(String s:c){
System.out.println(s);
}
}
public static void main(String[] args) {
Set<String> set=new HashSet<String>();
set.add("雪饮大侠");
set.add("柠檬不萌");
set.add("柠檬大侠");
foreach(set);
}
}
关键字词:javase,集合框架Iterator接口