Java学习之ArrayList集合

Java常用的三种集合

  1.ArrayList: 采用数组的形式保存对象,这种方式将对象保存在连续的位置中,所以查询效率比较高但是插入删除效率低,并且ArrayList不是线程安全的。

  2.LinkedList: 采用的将对象存放在独立的空间中,每个空间中还保存链接的索引 但是缺点就是查询效率低但是插入删除效率高。

  3.Vector: 保存对象的方式与ArrayList相同,但是Vertor方法中都有synchronized关键字,所以是线程安全的。

ArrayList实现线程安全方法:

  1.使用Vector,它可以看做是ArrayList的线程安全版本,绝大部分方法和ArrayList都完全一样。

  2.使用Collections.synchronizedList方法把你的ArrayList变成一个线程安全的List。

  3.SynchronizedList有很好的扩展和兼容功能,它可以将所有的List子类转成线程安全类。 

  4.SynchronizedList可以指定锁定的list对象。

  5.LinkedList也是使用SynchronizedList转换成线程安全的类,Vector不能替代LinkedList。

ArrayList初始化三种方式

   

 

ArrayList 四种遍历方式

  

 

  数据量比较少的话四种循环耗时都差不多,java8的forEach循环有预热机制,尽管数据量非常少但首次遍历耗时会比较长。

       但是后面耗时就很少,但是随着数据量的增长forEach的效率是最好的。

ArrayList排序方式

  

 

posted @ 2017-02-07 09:58  狗狗听话  阅读(192)  评论(0编辑  收藏  举报