详解Collection是什么,怎么用(二)

时间:2024-10-14 15:06:59

1、首先要介绍的就是AbstractCollection了,看到下面的声明可能很多人就要问了,这个抽象类继承了collection接口,又有什么作用呢?仔细的说,AbstractCollectio荏鱿胫协n这个抽象类继承了collection的绝大多数接口,除了iterator()和size()这俩需要实体类才能发挥作用的函数。

详解Collection是什么,怎么用(二)

2、那么也就是说这个接口实现了绝大多数collection中的函数,那么这个抽象类比起接口的意义何在呢?相信了解抽象类和接口区别的读者们已经明白了,抽象类是可以有具体实现的函数内容的,也就是比起继承这个接口得全部重写每个函数来说,继承这个抽象类,可以省去写绝大部分接口的工作,这就大大减少了我们的工作量。

3、下图是list接口的抽象亿姣灵秀类,至于为什么要抽象,这个理由也和collection是一致的。这个抽象类实现了除了size()以及get(int)这两个函数以外的其他所有功能。也就是说你想使吹涡皋陕用list的时候,只用继承这个抽象类就可以了,此外,比起collection,list实现了iterator接口,因为只要是list,返回的iterator是一致的。(尽管很多继承的官方类例如arraylist还是重写了该方法)

详解Collection是什么,怎么用(二)

4、下图为set接口的抽象类,作用和list相同,不过由于上一节我们说过的set接口和collection接口一模一样,没有其他的api的缘故,set的抽象类自然也就和collection一模一样,甚至连作用也一样。

详解Collection是什么,怎么用(二)

5、iterator是集合迭代器,那么顾名思义listiterator就是队列的迭代器了。这个迭代器专门的用来遍历list,可想而知list的重要性。不同于iterator,这个抽象类额外实现了判断前一个元素和获取上一个元素的api接口,使得更加便于使用

详解Collection是什么,怎么用(二)
详解Collection是什么,怎么用(二)

6、以上就是全部的关于collection类的相关介绍和深入详情,集合类作为java中经常使用到的数据结构,大家学习的时候还是务必细致和多了解一些末节的知识,这也对大家的日后使用有所帮助,谢谢大家。

© 手抄报圈