zoukankan      html  css  js  c++  java
  • 集合

    单向链表:

    1.为什么单向链表查询效率较低?
       单向链表中的每个元素在空间的存储位置上没有规律
    ,也没有顺序,那么在查找某个元素的时候必须从头节点
    唉着往后找,直到找到为止。
     
    2.为什么单向链表的增删效率较高?
       因为链表每个元素存储的空间是没有顺序的,
    删除或者添加某个元素,只需要让指针重新指向即可。
    不需要将其他元素位移。所以随机增删效率较高。
     

    List是一个有序集合,可以放重复的数据
    Set是一个集合,不允许放重复的数据。
    Map是一个无序集合,集合中包含一个键对象,一个值地下,键对象不允许重复

    List存储元素的特点:有序可重复。
    有序:存进去什么顺序,取出来的时候还是什么顺序取出。

    Set存储元素的特点:无序不可重复。存进去的时候是这样一个顺序,取出来的时候就不一定是这个顺序取出了。

    存储元素的特点:无序不可重复的。但是存储进去的元素可以按照元素的大小自动排序。

    ArrayList底层采用的是数组存储元素
    的,所以ArrayList集合适合查询,不适合
    频繁的随机增删元素。

    LinkdList底层采用双向链表这种数据结构存储数据的。
    链表适合频繁的增删元素,不适合查询操作。


    Vector底层和ArrayList集合相同,但是Vector
    是线程安全的。效率较低,。所以现在很少使用。

    HashSet哈希表/散列表。


    Collection:只能存储应用类型,并且是单个存储

    Map<key,Value>:map集合以键值对的方式存储
    元素,键特点是:无序不可重复的。


    HashMap:哈希表/列表,HashMap中的key
    符同于一个Set集合。

    Hashtable:线程安全的,效率低


    Properties:属性类,也是以key和value的方式存储元素
    ,但是key和value只能是字符串类型。


    SortedMap中的key存储元素的特点:无序不可重复,但是可以按照元素的大小顺序自动排序。SortedMap中的key
    等同于SortedMap中的key等同于SortedSet。

    TreeMap:的key就是一个TreeSet

     
     
  • 相关阅读:
    SDUT-3376_数据结构实验之查找四:二分查找
    SDUT-3375_数据结构实验之查找三:树的种类统计
    SDUT-3373_数据结构实验之查找一:二叉排序树
    深度优先遍历和广度优先遍历
    SDUT-2498_AOE网上的关键路径
    SDUT-2140_判断给定图是否存在合法拓扑序列
    SDUT-2144_最小生成树
    SDUT-3364_欧拉回路
    SDUT-3363_驴友计划
    Java练习 SDUT-2271_Eddy的难题
  • 原文地址:https://www.cnblogs.com/BruningHUA/p/6268068.html
Copyright © 2011-2022 走看看