List和ArrayList的区别
来源:互联网 发布:工资条发放软件 编辑:程序博客网 时间:2024/05/21 07:00
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)来定制你的自定义类.
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和Arraylist的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- List和ArrayList的区别
- Android UI学习 - Menu
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
- 人所不欲,勿施于人
- 关于java引用传递
- QT 添加启动画面
- List和ArrayList的区别
- C++string类常用函数默认分类
- 周报——学习方法小结。
- ADO.NET的数据库 连接字符串 SQL SERVER
- 存储过程常用技巧
- myeclipse6.0打开jsp文件出错,报Please check the location and try again!
- STM32的位操作的方法
- SOA是什么
- 关于内存对齐的总结1(看过的写的最清楚的)