java8 增强的Iterator遍历集合元素

Iterator接口也是Java集合框架的成员,与Collection和Map两个系列的集合不一样的是Collection和Map系列主要用于充当容器的作用,而Iterator正如其名字一样是主要用于迭代访问Collection集合中的元素,Iterator对象也被称为迭代器。

Iterator接口里面定义了下面4个方法:

》boolean hasNext():如果被迭代遍历的集合还没有被遍历完,返回True

》Object next():返回集合里面的下一个元素

》remove():删除集合里面上一次next()方法返回的元素

》void forEachRemaining(Consumer action):使用Lambda表达式来遍历集合元素,这是java8为Iterator新增的默认方法

下面给出一个实例

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Bike {

private String name;//自行车名
private double deposit;//押金

public Bike(){}
public Bike(String name,double deposit){
this.name=name;
this.deposit=deposit;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getDeposit() {
return deposit;
}
public void setDeposit(double deposit) {
this.deposit = deposit;
}

public static void main(String[] args) {
List<Bike> bikes=new ArrayList<>();
bikes.add(new Bike("小黄车",99));
bikes.add(new Bike("摩拜单车",200));
bikes.add(new Bike("小鸣单车",100));
//遍历
Iterator it=bikes.iterator();
while(it.hasNext()){
Bike bike=(Bike)it.next();
System.out.println("[车型:"+bike.getName()+"][押金:"+bike.getDeposit()+"]");
}

}

输出效果如下:

[车型:小黄车][押金:99.0]
[车型:摩拜单车][押金:200.0]
[车型:小鸣单车][押金:100.0]

时间: 2024-10-14 12:45:41

java8 增强的Iterator遍历集合元素的相关文章

跟王老师学集合(三):使用Iterator接口遍历集合元素

使用Iterator接口遍历集合元素 主讲人:王少华  QQ群号:483773664 学习目标: 1 掌握使用Iterator接口遍历集合元素 一.Iterator概述 Iterator接口主要用于遍历,因此Iterator对象也被称为迭代器.Iterator接口里定义了如下三个方法: boolean hasNext():如果被迭代的集合元素还没有被遍历,则返回true Object next():返回集合里下一个元素 void remove():删除集合里上一次next方法返回的元素 二.利用

使用增强for循环遍历集合的时候操作集合的问题?

1 // 遍历一个list 2 public static void printList(List<String> list){ 3 for (String string : list) { 4 list.add("eeee"); // 运行错误 5 System.out.println(string); 6 } 7 System.out.println("遍历中: "+list); 8 } 9 异常信息如下: 10 Exception in threa

增强for循环遍历集合或数组

遍历:for循环遍历数组或集合:iterator迭代器遍历集合:还有增强for循环(for each)遍历数组或集合: 遍历数组: 遍历集合: 原文地址:https://www.cnblogs.com/wmqiang/p/10658532.html

当JAVA集合移除自身集合元素时发生的诸多问题

一段代码目的是想删除集合中包含"a"字符串的集合项: public class TestForeach { public static void main(String[] args){ //ArrayList<String> lists = new ArrayList<String>(); Collection<String> lists = new HashSet<String>(); lists.add("abvd&quo

迭代器遍历【List、Set、Map】&amp;&amp; 遍历集合的方法总结 &amp;&amp; Collections工具类

整理&&总结 迭代器遍历Iterator[List.Set.Map]example 1 package boom.collection; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.HashSet; 6 import java.util.Iterator; 7 import java.util.List; 8 import java.util.Map; 9 import jav

Lambda表达式遍历集合

1.Collection Java 8 为Iterable接口新增了一个forEach(Consumer action)默认方法,该方法所需参数的类型是一个函数式接口,而Iterable接口是Collection接口的父接口,因此Collection集合也可以直接调用该方法. 当程序调用Iterable的forEach(Consumer action)遍历集合元素时,程序会依次将集合元素传给Consumer的accept(T t)方法(该接口中唯一的抽象方法).正因为Consumer是函数式接口

集合,迭代器遍历集合,嵌套集合

集合的框架图 什么是集合? 集合有两个父接口:collection 和  Map collection有两个子接口:List 和 Set List :子接口有两个常用的实现类ArrayList和LinkedList    存储的数据的方式是有序不唯一的 ArrayList其实可以理解为一个可变长度的数组,可以通过索引访问相对应的元素 ArrayList遍历元素和查找指定元素效率比较高 Linkedlist对元素的增删改时效率比较高  而且LinkedList有几个独有的方法,addFrist()

OC第六节 遍历集合、数组排序

1.遍历的?式?for.枚举器.forin. ①.for循环同C语言,循环条件是集合的元素个数或键值对个数,无序的集合要先转换成数组在根据下标遍历 ②.枚举器 NSEnumerator objectEnumerator (reverseObjectEnumerator)   创建枚举器(反向枚举器) nextObject  与while循环连用,遍历集合 ③. for … in :快速枚举,是在NSEnumerator的基础上封装的更加方便的快熟便立即和元素的方式,格式如下: for (<#ty

遍历 集合 数组 增强for Iterator

遍历数组         String[] arr = { "包青天", "白乾涛", "baiqiantao", "bqt", "0909082401", };         for (int i = 0; i < arr.length; i++) {//普通for             System.out.println("第" + (i + 1) + "个元素