zoukankan      html  css  js  c++  java
  • 集合概念知识点

     
    栈:
    1、栈是运行在:内存当中,如果当前内存被清除掉后,我当前的数据,无法继续使用,也就随之清除。
    2、栈的运行模式:先进后出,后进先出。栈就相当于弹夹。第一颗进去的子弹,永远最后才会发射出来。
    3、在什么地方使用:
    1、如果说我需要用电梯系统。
    2、垃圾回收管理系统。所有的垃圾车,都运行进入了当前的垃圾站。我先到的,是不是在最里面。
    3、注意,如果系统没有设置两个连接口。那么就会出现栈运行模式。
     
    队列:
    1、队列的运行模式:先进先出,后进后出。与栈的运行模式,相反。
    2、队列与栈的区别:
    1、在添加内容过程:还需要将内容进行压栈么?
    2、在内容排序过程中,优先进去的顺序出来优先。
    3、日常生活中:排队,挂号,等等。
    数组:
    1、数组的运行模式:当我创建数组后,当前数组在内存中开辟一个足够容量的数组对象。
    2、数组的增删慢:
    1、如果是直接增加,那么会比较快,因为我不需要管理其他的内存对象。
    2、如果在指定角标进行添加,那么就涉及到其他内容也会连带的进行改变。
    3、如果我需要指定内容进行删除,也是同理,删除当前角标的元素后,其他数据与角标也要发生改变。
    3、数组为什么查询快:
    数组在进行查询过程,我直接可以获取到当前数组的角标就能查询到数据内容。精准获取到角标对象后,直接按照角标内容获取,无需进行遍历。
    链表:
    1、增删快,查询慢:
     
    增删:通过外部进行直接增加对象内容与地址值,通过链接方式,进行增加,无需动用后面的内容与对象联动修改。
     
    查询:链表不像数组,可以通过角标定位,链表需要查询,那么必须找到头。通过第一个内容找到第二个内容,通过第二个内容继续寻找第三个内容。以此类推。
     
    集合:
    List:
    ArrayList:数组
    LinkedList:链表
     
    Set:
    TreeSet:
    为什么TreeSet集合没有角标。Set集合里面存储的就相当于HashMap的键,然后他不能存储重复元素。
    如果存储重复元素,那么当前使用的是覆盖操作。将相同元素的两个对象,覆盖为一个对象。
    Set集合:不能通过角标进行获取对象。如果想要进行获取对象,那么必须通过迭代的方法进行单个获取。
     
    Map:
    HashMap:hash表。
    通过Key可以获取到Value对象。那么我们现在可以吧Key当成一个对象名。
     
    Map集合获取对象:通过键获取Value。
    删除对象:通过Key,删除value。
    如果删除想通过value进行删除,那么就需要将Hashmap转换为其他集合进行删除。
     
    注意:
    1、Map集合中,不能一个键对应多个值。
    2、Map集合中,可以多个键,对应一个值。
    3、如果必须要使用Map集合一个键,对应多个值。我们可以使用集合的嵌套模式进行,将value类型,设置成List集合,那么List集合里面是否有多个内容,就是List集合说了算
  • 相关阅读:
    Aseprite+Cocos:打包像素画图,导入到cocos里并动起来
    自定义博客园个人皮肤
    埃航和737MAX坠毁:软件优先级问题
    淘宝网——软件质量属性场景分析
    王概凯《架构漫谈》阅读笔记
    2965 -- The Pilots Brothers' refrigerator
    UVa10082 -- WERTYU
    1753 -- Flip Game
    1083 -- Moving Tables
    2159 -- Ancient Cipher
  • 原文地址:https://www.cnblogs.com/yuhudashen/p/7930635.html
Copyright © 2011-2022 走看看