• java集合总结


    1.java集合主要有2个根接口分别是Collection和map

    Collection 接口主要有3个子接口
    Set:无序集合元素不可以重复。
    Queue队列
    List:有序集合元素可以重复。

    -------------------Set-----------------

    Set包括HashSet,TreeSet,EnumSet
    HashSet特点:
    1.不能保证元素排列顺序,顺序可能发生变化。
    2.不是同步的,多个线程同时修改HashSet集合时,会出现线程安全问题。
    3.值可以为Null。
    HashSet集合判断2个元素相等的标准是2个对象通过equals()方法比较相等并且2个对象的hashCode()方法返回值也相等。

    LinkedHashSet特点:
    会按照元素的添加顺序来访问集合元素,因为需要维护元素插入顺序所以性能比HashSet差。

    TreeSet特点:
    会根据元素实际值大小来进行排序。分为自然排序和定制排序2种。
    EnumSet是专为枚举类设计的集合类

    性能分析:
    HashSet性能总比TreeSet好(特别是常用的添加,查询操作),因为TreeSet需要维护元素的次序。
    EnumSet是性能最好的,但是他只能保存同一个枚举类的枚举值。
    他们都是线程不安全的。可以通过Collections来同步保证同步。

    -------------------List-----------------
    List包括ArrayList和Vector实现类
    1.ArrayList是线程不安全的,Vector是线程安全的。
    2.Vector性能比ArrayList好。

    ------------------Queue-----------------

    -----------------Map--------------------
    Map主要包括HashMap和Hashtable,EnumMap,LinkdeHashMap
    HashMap与Hashtable区别:
    1.Hashtable是线程安全的,HashMap是线程不安全的,所以HashMap性能理高一点。
    2.Hashtable的key和值不可以为null,HashMap允许有一个key为NUll,多个value值为null;

  • 相关阅读:
    【转】CSR蓝牙驱动程序引起的Win7奇怪问题
    c# .net WebRequest 始终报域名无法解析
    sql server 安装时提示要重启
    https 不检验证书
    windows 日志,IIS应用程序池回收日志
    excel sum
    .net core 连接sql server 时提示Connection Timeout Expired
    python2.0_day20_bbs系统开发
    SVN常用命令与分支操作
    SVN使用教程之-分支/标记 合并 subeclipse
  • 原文地址:https://www.cnblogs.com/dsking/p/5261091.html
Copyright © 2020-2023  润新知