zoukankan      html  css  js  c++  java
  • 简述Java中的集合

    Java中一共有两大集合接口:Connection和Map

    Connection接口:

      List:有序,可重复

        ArrayList

        优点:底层数据结构是数组,查询快,增删慢。

        缺点:线程不安全,效率高

        LinkedList

        优点:底层数据结构是链表,查询慢,增删快。

        缺点:线程不安全,效率高

        Vector

        优点:底层数据结构是数组,查询快,增删慢。

        缺点:线程安全,效率低

      Set:无序,不重复

        HashSet

        底层数据结构是哈希表(无序,唯一)

        依赖两个方法:hashCode()和equals()来保证元素唯一性

        LinkedHashSet

        底层数据结构是链表和哈希表(FIFO插入有序,唯一)

        由链表保证元素有序,由哈希表保证元素唯一

        TreeSet

        底层数据结构是红黑树(有序,唯一)

        自然排序、比较器排序来保证有序,根据比较的返回值是否是0来决定元素是否唯一

    Map接口:

      常见的Map集合有HashMap、HashTable和TreeMap

      它们之间的区别:

      TreeMap是有序的,HashMap和HashTable是无序的

      HashTable的方法是同步的,HashMap的方法不是同步的

      HashTable是线程安全的,HashMap不是线程安全的

      HashMap效率较高,HashTable效率较低

      HashTable不允许null值,HashMap允许null值(key和value都允许)

      父类不同:HashTable的父类是Dictionary,HashMap的父类是AbstractMap

    PS:

      TreeSet,LinkedHashSet和HashSet的区别

        TreeSet的主要功能用于排序

        LinkedHashSet的主要功能用于保证FIFO即有序的集合(先进先出)

        HashSet只是通用的存储数据的集合

  • 相关阅读:
    scrapy下载图片第一波
    scrapy之防ban策略
    xml之dtd约束
    Java jdbc相关
    XSS获取cookie
    反射型XSS & DVWA
    MySQL数据库设计规范
    SQL Server 查询指定时间是一年当中的第几周
    js验证15位或18位身份证
    C# Process.Start()
  • 原文地址:https://www.cnblogs.com/angeloaaron/p/12876753.html
Copyright © 2011-2022 走看看