浅谈Java中的容器(集合)

集合是什么?

       在Java中集合就相当于数组,用来储存元素

为什么要用集合?

        数组一旦创建,它的长度就是不能改变的,可是一般情况下写程序之前并不知道需要创建多少个对象,而且数组无法保存具有映射关系的数据,例如:学生的成绩,张三-- 20分,李四--85分,这类数据看上去像两个数组,原则上也可以拆分成两个数组来进行保存,但是却体现不出来这两组数据的关联关系。可见,数组仅限于保存一组数目有限且孤立的基本类型数据,若用来保存数量不确定,相互间存在关联的对象也就不合适了。为此,Java提供了一套完备的容器(又称集合)来解决问题。


list集合和set集合都继承了collection集合,list集合的实现类有:ArrayList,Vector,Linkedlist

list集合

    list集合可以加重复元素,并且其中的元素是有序的(即:加进去和取出的顺序是一样的),并且可以有null元素

ArrayList和Vector类

    ArrayList和Vector都相当于一个动态数组,因为数组的储存方式和特点是:其中的元素的物理位置和逻辑为止相邻,所以其查询效率高,但是增删效率低。其中,ArrayList异步,即允许同时操作,其线程不安全。(类似于过安检)而Vector同步,其不允许同时操作,线程比较安全。

LinkedList类

     LinkedList类就相当于动态链表,因为链表的储存方式和特点是:其每一个元素都是由三个部分组成,一部分是上一个元素的位置,一部分是此元素的data,另一部分是下一个元素的位置,并且其会只指向下一个元素。即逻辑位置和物理位置不相邻。所以,动态链表的查询效率低,增删效率高。


map集合是与collection集合并列的关系。其也是一个接口,以键值对形式保存数据(即一个键和一个值一一对应)

猜你喜欢

转载自blog.csdn.net/my_name_is_zwz/article/details/80297557