您的位置:首页 > 编程语言 > Java开发

java集合与数组遍历-iterator和for方法

2016-03-28 14:50 477 查看
>>> Iterator接口

Java JDK提供的类都是继承自Collection的"子接口",如:List和Set。Map没有继承Collection接口,Map提供key到value的映射。

Iterator接口也是Java集合框架的成员,但它与Collection系列、Map系列的集合不一样:Collection系列集合、Map系列集合主要用于盛装其他对象,而Iterator则主要用于遍历(即迭代访问)Collection集合中的元素,Iterator对象也被称为迭代器。

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

    –boolean hasNext():如果被迭代的集合还元素没有被遍历,则返回true。

    –Object next():返回集合里下一个元素。

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

    –void forEachRemaining(Consumer action),这是Java 8为Iterator新增的默认方法,该方法可使用Lambda表达式来遍历集合元素。

public class TestIterator {

public static void main(String[] args) {

// 创建集合、添加元素的代码与前一个程序相同

Collection books = new HashSet();

books.add("轻量级Java EE企业应用实战");

books.add("疯狂Java讲义");

books.add("疯狂Android讲义");

// 获取books集合对应的迭代器

Iterator it = books.iterator();

while (it.hasNext()) {

// it.next()方法返回的数据类型是Object类型,因此需要强制类型转换

String book = (String) it.next();

System.out.println(book);

if (book.equals("疯狂Java讲义")) {

// 从集合中删除上一次next方法返回的元素

it.remove();

}

// 对book变量赋值,不会改变集合元素本身

book = "测试字符串"; // ①

}

System.out.println(books);

}

}

>>> iterator和for遍历方法

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class ArrayIterator {

public static void main(String[] args) {

List<Integer> listOfInt = new ArrayList<Integer>();

listOfInt.add(1);

listOfInt.add(2);

listOfInt.add(3);

// Iterator遍历一

Iterator<Integer> iterator = listOfInt.iterator();

while (iterator.hasNext()) {

int i = (Integer) iterator.next();

System.out.println("Iterator遍历一,"+i);

}

// Iterator遍历二

for (Iterator<Integer> it = listOfInt.iterator(); it.hasNext();) {

int i = (Integer) it.next();

System.out.println("Iterator遍历二,"+i);

}

// for循环

for (int i = 0; i < listOfInt.size(); i++) {

System.out.println("for循环,"+listOfInt.get(i));

}

// for循环加强版

for (Integer i : listOfInt) {

System.out.println("for循环加强版,"+i);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: