您的位置:首页 > 编程语言 > Java开发

java:集合的概述,Collection,List,Arraylist、LinkedList、Vector

2019-08-16 21:00 344 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_45404224/article/details/99685154

文章目录

  • Collection
  • List
  • Arraylist
  • LinkedList
  • Vector
  • 集合的概述

    对象类型的数组

    定义一个数组,数组元素的类型是引用数据类型,也就是一个一个的对象。
    这种数组称为对象数组,数组中的每个元素其实都是一个对象的地址,而非对象本身

    集合的来由

    1、对象数组的不足:
    无法扩展:数组本身的长度是固定的,一旦创建,就无法修改
    结果:每次要添加一个新元素的时候,就需要创建一个新的数组,长度为原来的数组长度+1,将原来数组中的所有元素都拷贝到新数组中,添加自己要添加的那个新元素。

    2、解决:
    将对象类型的数组,变成某个类型的私有成员变量
    对于数组的各种操作,都封装成公有的方法
    如果要添加一个元素,底层还是进行的数组拷贝,不过java开发者把它们封装到一个方法之中,我们可以直接调用方法,也就是底层数组的拷贝调用者感知不到,只能感知到这个类型是一个可以伸缩的容器
    还在数组的操作上,增加了很多功能
    上面提到的【某个类型】,就是集合

    集合和数组的区别

    1、共同点:
    都是用于存储数据的容器
    一大堆零散的变量,不太好进行统一的操作
    使用容器的原因,就是希望使用有规律的索引、操作方式,操作那些没有规律的元素
    2、不同点:
    1、存储内容的不同:
    数组既可以存储基本类型,也可以存储引用类型
    集合只能存储引用类型,如果需要存储基本类型,其实里面存的是包装类对象
    2、存储数量的不同:
    数组的长度不可变,一旦确定大小就无法增删
    集合的长度可变,是一个可以伸缩的容器
    3、方法不同:
    数组中只有Object中定义的方法,以及有一个length属性
    集合中可以有很多方法

    集合的体系结构

    1、集合分类:
    单列集合:每个元素都是一个单独的个体
    双列集合:每个操作都是针对一对数据来进行的,一对数据作为一个单位

    Collection




    集合体系:

    List


    Arraylist

    LinkedList

    1、List的一个实现类
    2、存储方式:
    节点实现,链式存储
    不通过物理内存位置的相邻,来表示逻辑顺序的相邻
    每个元素都存储在一个节点中,节点除了元素数据本身以外,还需要存储下一个元素的内存地址
    3、特点:
    查询速度慢:需要根据前面的节点来获取后一个节点的地址,前面所有节点都要访问一遍,节点数量越多,查询速度越慢
    增删速度快:增删一个元素,只需要修改新增元素前后的两个节点的引用域即可,与集合本身的元素个数无关。
    4、LinkedList的特有方法:
    由于在LinkedList中,维护了链表的头和尾节点的对象地址,所以操作头部和尾部非常容易,提供了大量的操作头和尾的方法。
    addFirst(Object obj):在头部添加元素
    addLast(Object obj):在尾部添加元素
    removeFirst():删除头部元素
    removeLast():删除尾部元素
    getFirst():获取头部元素
    getLast():获取尾部元素

    Vector

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐