首页 > 代码库 > Java核心类库—集合框架—ArrayList类
Java核心类库—集合框架—ArrayList类
ArrayList类是java集合框架出现之后取代Vector类的
二者底层原理都是基于数组的算法,一模一样。
区别:
Vector:所有的方法都使用了synchronize修饰符 线程安全但是性能较低,适用于多线程环境。
ArrayList:所有的方法都没使用synchronize修饰符 线程不安全但性能较高。
即使以后多线程也不要使用Vector类
因为:List list = Collections.synchronizedList(new ArrayList(...));
常用方法参照Vector类
阅读源代码发现Vector类与ArrayList类差异有点大(从设上考虑)
有时候某个方法需要返回ArrayList对象
但是在该方法中,如果一个都没有查询到时我们不会返回null,而是返回一个空集合对象(没有元素的集合)
在java7之前,即使使用new ArrayList创建对象,一个元素都不存储,但是在堆空间依然初始化了长度为10的Object数组,浪费堆空间。
从java7开始优化这个设计,new ArrayList其实创建的是一个空数组,当add的时候才会重新初始化数组。
Java核心类库—集合框架—ArrayList类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。