• Java中的数组和List


    一.数组Array

    1.数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单
    2.声明数组的时候,必须同时指明数组的长度,数组的长度过长,会造成内存浪费,数组和长度过短,会造成数据溢出的错误。
    3. 数组只能存放类型一样的数据(基本类型/引用类型)

    二.集合Collection
    1. JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。但是集合可以存放不同类型的引用类型,因为存入集合的元素都被转化成了Object类型,之后再引用集合中的类型需要强制类型转换,这就导致了集合的类型不安全,以及类型转化的性能损耗
    三.List (列表)是接口,与Set(集)一起继承了Collection接口, 请注意,Map没有继承Collection接口,Map提供key到value的映射。 
    线性是一种逻辑结构,数据结构中的除去首尾元素外,其他元素都有唯一的前驱和后继。

    1. Set和List的区别:
    List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)


    2. List有三个实现类:ArrayList LinkedList Vector
    2.1 ArrayList底层是以数组实现的。
    2.2 LinkedList是双向链表实现,适合于经常进行增删操作,但是查询和修改效率没ArrayList、Vector快。
    2.3 Vector与ArrayList类似,也是数组实现,但是他是同步的,是线程安全的,不会有并发产生的问题,但是效率要低于ArrayList。

  • 相关阅读:
    链表和顺序表的区别
    MongoDB安装了以后,服务无法启动的问题
    retrying模块
    Scrapy 动态创建 Item
    pyhon把程序打包为whl
    记录有个关于使用matplotlib库绘图遇到的坑
    读取Polygon多边形的顶点坐标
    Scatter 散点图
    tick 能见度
    Annotation 标注
  • 原文地址:https://www.cnblogs.com/jeasonit/p/11880345.html
Copyright © 2020-2023  润新知