List 与 ArrayList 的使用
2024-08-30 10:16:12
最近回顾 java 集合,发现大部分程序中都在使用 List list = new ArrayList(); 也有部分程序使用 ArrayList list = new ArrayList(); 那么他们两个有什么差别呢?
首先,List 集合代表一个 元素有序、可重复的集合,List 是 Collection 的接口的子接口;而 ArrayList 是一个类,还实现 Lits 接口。
Lits list = new ArrayList(); 这一句创建了 ArrayList 的对象后向上转型到了 List。此时他是一个 List 对象了,这个对象就不能使用 ArrayList 有但是 List 没有的属性和方法。而 ArrayList list = new ArrayList(); 这一句创建的对象则保留了所有 ArrayList 的所有属性和方法。
那么为什么大多数时候都在使用 List list = new ArrayList(); 呢?问题就在于,List 有多个实现类,如 LinkedList、vector 等,现在你用的是 ArrayList,也许哪一天你需要更换为其他的实现类,这是只需要改变一行代码就可以:List list = new LinkedList(); 其他使用了 list 的地方就不用动了,假设你开始用的是 ArrayList list = new ArrayList(); 那么要改的地方及很多了,尤其是使用了 ArrayList 特有的方法和属性。如果没有特别需求的话,最好使用 List list = new ArrayList(); 便于程序代码重构。这就是面向接口编程的好处。
最新文章
- 对抗密码破解 —— Web 前端慢 Hash
- vue.js 使用小结
- iOS9 3DTouch开发
- 二、Spring——AoP
- python正则表达式的学习记录
- 2014广州Java岗位面试汇总
- 文件上传-html
- SVN项目库错误Unsupported FS format svn: Expected FS format between '1' and '4'; found format '6'
- Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍
- 5.Java 加解密技术系列之 DES
- 家中路由添加静态IP映射(一)
- 【Learning】多项式乘法与快速傅里叶变换(FFT)
- linq分组求和_实体类和datatable
- Eclipse编写ExtJS卡死问题 eclise js验证取消
- Python学习之路基础篇--10Python基础,函数进阶
- celery(一) application
- 【转载】 pytorch之添加BN
- linux 下使用 curl post
- Chapter 3 Phenomenon——20
- Java IO 文件