码迷,mamicode.com
首页 > 其他好文 > 详细

第17章(中)--集合

时间:2020-06-24 14:07:44      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:des   可变   开发   loading   row   object   方法   线程   ret   

1.ArrayList底层结构和源码分析

 

      ArrayList的全面说明

 

1)      Resizable-array implementation of the List interface [ArrayList实现了List的接口,底层是一个数组,并实现可变的功能.]
ArrayList 属性 : transient Object[] elementData;

2)      Implements all optional list operations [ArrayList实现了List所有的操作。

3)      permits all elements, including null [ArrayList 可以添加任意的元素,包括null]

4)      this class provides methods to manipulate the size of the array that is used internally to store the list[ArrayList的数据是保存到array ]

5)      This class is roughly equivalent to Vector, except that it is unsynchronized [ArrayList 和Vector基本相同,除了Vector是线程同步的,ArrayList不是线程同步.]

技术图片

 

 技术图片

 

2.    Vector底层结构和ArrayList的比较

       Vector的基本介绍

 

1) Vector类的定义说明

    

2) The Vector class implements a growable array of objects [Vector底层也是一个可变对象数组]

 

3) Vector 是线程同步的,即线程安全, Vector类的操作方法带有synchronized

 public synchronized E get(int index) {

        if (index >= elementCount)

            throw new ArrayIndexOutOfBoundsException(index);

        return elementData(index);

    }

4) 在开发中,主要使用ArrayList ,只有在确实需要线程同步安全时,才考虑使用Vector(坦克大战)

技术图片

 

 

3.LinkedList

 

技术图片

 

第17章(中)--集合

标签:des   可变   开发   loading   row   object   方法   线程   ret   

原文地址:https://www.cnblogs.com/-xuewuzhijing-/p/13187062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!