Java Collections Framework--(一 概述)
2007-08-16 12:32
267 查看
Java Collections Framework位于包java.util.*中,有两个顶层接口,Collection与Map接口。
1.Collection结构(图1-1 && 图1-2),Map结构(图1-3)
图1-1
图1-2
图1-3
2.为什么要使用接口
如果不用接口,而使用类似ArrayList的具体类方法直接实现,那被人称之为硬代码。
接口提供一些类似的行为,实现动态可插入,也就是说能够动态的决定使用哪一种实现。
Collections.sort(List<T>,list),不管是ArrayList,还是Vector,或是LinkList,只要继承List接口,就可以调用它。
3.为什么用Collection接口,而不用AbstractCollection直接代替接口
“能够用接口就不要用聚合或集合,能够用聚合或集合就不要用继承。”是一位属于企业领导阶层的人在我校做兼职老师时说的。但就我能理解到的程度是:如果一个类除了必须继承AbstactCollection,还必须继承其他的类(OtherClass),但Java不支持双继承,这就导致AbstactCollection先必须继承OtherClass,这就出现了两个问题:第一,OtherClass很可能与AbstactCollection没有Has-a的关系,使用继承是错的,逻辑混乱。第二,即使有Has-a关系,但其他继承AbstactCollection的类无需用到OtherClass,这也导致逻辑混乱。
4.AbstractCollection的用途
AbstactCollection实现了接口Collection的部分通用功能(即所有子类可共用的代码),减少了编程量。它使用了缺省适用模式,如果不用AbstractCollection,而用一个具体的类实现接口,那么具体类就必须实现接口的所有函数,即使不实现,也要给出一个空的方法,这很不方便。
相关文章推荐
- java语言中的多态概述
- Java 概述
- JAVA学习笔记之多线程专题(二):线程池概述
- Java中的集合框架概述
- java复习二:抽象类和抽象方法的概述
- Java的概述
- Java图形用户界面1—GUI、AWT、组件和容器概述
- JAVA概述(9) 循环语句(流程控制)(理论1)
- java基础—1.java概述及编程知识
- java概述
- 数据结构Java实现【1】----算法概述
- Java网络编程之概述
- Java语言概述
- 黑马程序员——Java概述
- JAVA面向对象-----接口的概述
- 黑马程序员----------java基础知识加强之集合总概述
- java之集合概述
- Java常用开源工具概述
- JAVA 语言概述
- 黑马程序员——Day01之Java概述