Java_集合—Collection和Iterator
从集合的体系图上我们可以看到,List 和 Set 集合都是继承自 Collection 的,由此可以看出。Collection是除Map集合以外所有集合的祖宗。由此可见它的重要性。集合,有别于其他容器类,集合有自己特殊的遍历方式,就是使用 Iterator(迭代器)去遍历集合。可见,Iterator 也是在集合中是很重要的。这节就来讲讲Collection 和 Iterator 接口。
集合篇:
从集合的体系图上我们可以看到,List 和 Set 集合都是继承自 Collection 的,由此可以看出。Collection是除Map集合以外所有集合的祖宗。由此可见它的重要性。集合,有别于其他容器类,集合有自己特殊的遍历方式,就是使用 Iterator(迭代器)去遍历集合。可见,Iterator 也是在集合中是很重要的。
这节就来讲讲Collection 和 Iterator 接口。
既然两个都是接口,接口既不能new对象,里面定义的方法也是空的,所以没什么好讲的,就来讲讲这两个集合中的方法有什么作用以及使用;
先来看Collection中有什么方法:
Collection下面的子类常用的方法就有这些。代码中注释写的比较明白,不必要过多的解释了。
下面来说说Iterator,Iterator就比较简单了,看代码
一眼看上去,也就3个,没错,就是3个,其中最常用的的
这个remove有什么用呢?我用collection中的remove就好啦,干嘛要用这玩意?你考虑过没有?
这就涉及到安全性的问题了,如果你同时对一个几个遍历和删除的操作,删除了之后是不是集合的元素就少了,但你的Iterator是在删除之前获取的啊,删除前后使用同一个迭代器,你觉得不会出问题么?尽管可以去试试。正是因为这个安全性的问题,所以这里的在遍历集合的时候要删除元素一定要用iterator俩面的remove,而不是用collection里面的remove。
然后来看看Iterator的具体用法
上面这两种使用方式,从功能上来讲。是没什么区别的,都实现了对集合的遍历
不同的是:方式一执行完毕后Iterator对象还是存在于内存中的,而方式二是不存在的,这就涉及到了局部变量和全局变量的区别了。
这一节就说到这里。
更多推荐
所有评论(0)