摘要: 都说ArrayList是线程不安全的,那为什么不安全呢。根据官方提供的源码, 我是这样理解的,ArrayList的成员方法都不是原子操作的,比如add(E)方法,该方法是在集合的尾部加入一个一个元素. add(E)源码如下: 网上的思路大致是这样的: add(E)操作有两步,1>尾部添加元素 2>修 阅读全文
posted @ 2017-03-23 18:03 够硬的乙方 阅读(2143) 评论(0) 推荐(0) 编辑
摘要: 1.迭代器遍历 2.因为ArrayList实现了RandomAccess接口,所有支持随即访问。for 通过下标遍历 3.for循环遍历 总结: 因为ArrayList是基于数组实现的,所以通过下标访问速度是最快的。故推荐第二种方法进行集合遍历 阅读全文
posted @ 2017-03-23 14:46 够硬的乙方 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 先摆上JDK1.8中ArrayList的类注释;我翻译了一下 总结: 1.ArrayList实现List接口,它的兄弟还有LinkedLIst,Vector,所有经常被问它们的区别也就情有可原了 2.ArrayList内部是基于数组实现的,也叫动态数组.所有它插入删除效率低,随即访问效率高 3.它是 阅读全文
posted @ 2017-03-23 14:25 够硬的乙方 阅读(242) 评论(0) 推荐(0) 编辑