集合类
来源:互联网 发布:淘宝宝贝重复铺货 编辑:程序博客网 时间:2024/06/05 19:40
Java集合类 图解:
--------------------------------------------------------------------------------------------------------------------------------
上面的图中,实线边框的是实现类,比如ArrayList、LinkedList、HashMap等,这线边框的是抽象类,比如AbstractCollection、AbstractList、AbstractMap等,而点线边框的是接口,比如Collection、Iterator、List等。
发现一个特点,上述所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含 hashNext(),next(),remove()三种方法。它的一个子接口LinkedIterator在它的基础上又添加了三种方法,分别是 add(),previous(),hasPrevious()。也就是说如果是先Iterator接口,那么在遍历集合中元素的时候,只能往后遍历,被 遍历后的元素不会在遍历到,通常无序集合实现的都是这个接口,比如HashSet,HashMap;而那些元素有序的集合,实现的一般都是 LinkedIterator接口,实现这个接口的集合可以双向遍历,既可以通过next()访问下一个元素,又可以通过previous()访问前一个 元素,比如ArrayList。
还有一个特点就是抽象类的使用。如果要自己实现一个集合类,去实现那些抽象的接口会非常麻烦,工作量很大。这个时候就可以使用抽象类,这些抽象 类中给我们提供了许多现成的实现,我们只需要根据自己的需求重写一些方法或者添加一些方法就可以实现自己需要的集合类,工作量大大降低。
下面是比较:
- Map集合(集合类)
- 集合类 Map集合
- 集合类 List集合 / LinkedList集合
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类...
- 集合类
- 集合类
- 集合类:
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类
- docker入门安装
- 将access_token保存在哪?
- unity3d施加牛顿力
- 嵌入式Linux应用程序开发详解-笔记1
- 一个正整数分解为几个连续的正整数之和
- 集合类
- 算法训练 最短路(spfa+slf优化)
- hdu 1280 堆排序
- 利用一致性哈希水平拆分MySql单表
- playframework开发文档
- linux运维-dovecot和mutt
- Solr-4.10.X安装tomcat运行
- 程序员你伤不起(四)
- Python之禅