• 小白学java


    小白学java第38天

    LinkedList:

            1. LinkedList底层维护了一个双向链表

            2. LinkedList中维护了两个属性first和last分别指向首节点和尾节点

            3.每个节点(Node对象),里面又维护了prev、next、item三个属性,其中通过prev指向前一个,通过next指向后一个节点。最终实现双向链表

            4.所以LinkedList的元素的添加和删除,不是通过数组完成的,相对来说效率较高

    Arraylist与Linkedlist的比较:

    底层结构增删的效率改查的效率
    ArrayList可变数组

    较低

    数组扩容

    较高
    Linked双向链表较高,通过链表追加较低

    如何选择ArrayList和LinkedList:

            1.如果我们改查的操作多,选择ArrayList

            2.如果我们增删的操作多,选择LinkedList

            3.一般来说,在程序中,80%-90%都是查询,因此大部分情况下会选择ArrayList

            4.在一个项目中,根据业务灵活选择,也可能这样,一个模块使用的是ArrayList,另外一个模块是LinkedList

    set接口:(以Set接口的实现类HashSet接口解释)

            1.无序(添加和取出的顺序不一致),没有索引

            2.set接口的实现类的对象(Set接口对象),不允许重复元素,所以最多包含一个null

            3.JDK API中Set接口的实现类有:

    Set接口的常用方法:


            和List接口一样, Set接口也是Collection的子接口,因此,常用方法和Collection接口一样


    Set接口的遍历方式:

            同Collection的遍历方式一样,因为Set接口是Collection接口的子接口

            1.可以使用迭代器

            2.增强for

            3.不能使用索引的方式来获取.

  • 相关阅读:
    力扣:119. 杨辉三角 II(Python3)
    Xilinx FPGA模式配置
    python车辆故障管理系统的设计与实现flask-django-nodejs-php
    com.lowagie:itext:jar:2.1.7.js9 was not found
    Springboot Vue个人简历网站系统java项目源码
    利用角色roles上线wordpress项目
    大数据_HDFS原理
    React18的useEffect会执行两次
    利用随机数生成猜数字游戏【C语言】
    前后端数据交互设计到的跨域问题
  • 原文地址:https://blog.csdn.net/BUPTniming/article/details/126408228