1.
List
是接口,
List
特性就是有序
,
会确保以一定的顺序保存元素
.
ArrayList
是它的实现类
,
是一个用数组实现的
List.
Map
是接口
,Map
特性就是根据一个对象查找对象
.
HashMap
是它的实现类
,HashMap
用
hash
表实现的
Map,
就是利用对象的
hashcode(hashcode()
是
Object
的方法
)
进行快速散列查找
.(
关于散列查找
,
可以参看
<<
数据结构
>>)
2.
一般情况下
,
如果没有必要
,
推荐代码只同
List,Map
接口打交道
.
比如
:List list = new ArrayList();
这样做的原因是
list
就相当于是一个泛型的实现
,
如果想改变
list
的类型
,
只需要
:
List list = new LinkedList();//LinkedList
也是
List
的实现类
,
也是
ArrayList
的兄弟类
这样
,
就不需要修改其它代码
,
这就是接口编程的优雅之处
.
另外的例子就是
,
在类的方法中
,
如下声明
:
private void doMyAction(List list){}
这样这个方法能处理所有实现了
List
接口的类
,
一定程度上实现了泛型函数
.
3.
如
果
开
发
的
时
候
觉
得
ArrayList,HashMap
的
性
能
不
能
满
足
你
的
需
要
,
可
以
通
过
实
现
List,Map(
或者
Collection)
来定制你的自定义类
本文深入解析Java中的List与Map接口及其实现类,如ArrayList、HashMap等,详细介绍了它们的特点、实现原理及如何通过接口进行优雅编程。同时,提供了使用自定义类替代标准集合的实例。

被折叠的 条评论
为什么被折叠?



