容器类学习

来源:互联网 发布:冯梦龙智囊知微翻译 编辑:程序博客网 时间:2024/06/17 20:56

迭代器:

Iterable是一个接口,里面有一个方法返回Iterator类型

Iterator是一个接口,要有三个需要实现的方法:hasNext(); next(); remove();

ListIterator也是一个接口,并继承Iterator。ListIterator只能用于List容器类,其增加了一些方法可以双向访问List中的元素,如hasPrevious();previous()。

容器类

List,Map,Set,Queue都是常用的容器类,他们都实现了Collection这个接口

Collection接口继承Iterable,所以所有的容器类都有Iterator()方法来返回一个Iterator对象。这就可以用迭代器来遍历集合里的所有元素。

默认容器类可以装Object类型的元素,需取出的时候必须要将元素转型成实际的类型,比较麻烦!所以使用泛型可以避免这一问题,指定存入容器类是什么类型的元素,取出时自动转成指定的类型,很方便。如:List<String>


迭代器的例子:

List<String> list = new ArrayList<String>();

list.add("A");

list.add("B");

list.add("C");

Iterator it = list.Iterator();

while(it.hasNext())  //对容器里的元素进行遍历,不需要知道容器的大小及元素类型

{

system.out.println(it.next());

}

output:

A

B

C


for   foreach Iteraor 的区别

for循环需要知道容器具体的大小。

foreach需要知道容器里的具体类型。

Iteraor不用知道以上两点就能遍历



0 0