首页 > 代码库 > java中的iterator迭代器
java中的iterator迭代器
Collection的iterator方法返回一个实现了一个Iterator接口的对象
Iterator接口中包含三个方法:
1)E next()
2)boolean hasNext()
3)void remove
具体用法:
Iterator<Integer> integers=collection.iterator(); while(integers.hasNext()){ System.out.print(integers.next()+" "); }
可以通过调用hasNext()判断是否达到集合的末尾
调用next()方法返回访问到的元素
但是也可以通过foreach循环实现上述的方法
for(Integer i:collection){ System.out.print(i+" "); }
编译器简单的将foreach循环翻译为带有迭代器的循环
foreach使用是有条件的,即其必须和实现了Iterable接口的对象一起工作,Collection接口扩展了Iterable接口,所以集合可以使用foreach循环
Iterator的作用:能够将遍历序列与序列底层的结构分开,通过它统一了对容器的访问
public class AddingGroups { public static void display(Iterator<String>iterator){ while(iterator.hasNext()){ String s=iterator.next(); System.out.print(s+" "+" "); } System.out.println(); } public static void main(String[] args) { List<String> list1=new ArrayList<>(Arrays.asList("a","b","c")); List<String> list2=new LinkedList<>(Arrays.asList("d","e","f")); Set set1=new HashSet<>(Arrays.asList("g","h","i")); Set set2=new TreeSet<>(Arrays.asList("j","k","l")); display(list1.iterator()); display(list2.iterator()); display(set1.iterator()); display(set2.iterator()); } }
通过iterator可以不管集合的类型信息了
java中的iterator迭代器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。