关于Java中的集合部分

关于Java中的集合

集合的定义:集合指的是存储对象的引用的类/接口。由于集合中元素(对象)的存储方式不

同,所以每一种集合都代表一种数据结构。

集合的继承结构图

  • Iterablee接口(可迭代的,其中有一个iterator()方法用于获取迭代器对象)

    • Collection接口

      • List接口(有序:集合中的元素有下标,可重复:存入集合中的元素可以相同)

        • ArrayList实现类(非线程安全,底层数据结构为数组)

          • ArrayList集合可以自动扩容。扩容至原来的1.5倍。默认初始化容量是10

          • 数组的优点:随即增删效率低,并且数组无法存储大容量的数据,因为很难找到一个连续的大容量空间。

          • 优点:向数组末尾添加元素效率较高,查询元素效率较高(原因:数组存储的每个元素所占内存空间大小相同,并且数组的内存地址是连续的,一次通过数学表达式即可计算出数组中某个元素的下标)

        • LinckedList实现类(底层数据结构为双向链表)

        • Vector实现类(线程安全的,但是效率低 ,因此不常用。底层数据结构为数组,)

      • Set接口(无序:集合中的元素没有下标,因此存入该集合中的元素和取出时的元素不一定相同。不可重复:存入该集合中的元素不可以重复)

        • HashSet实现类(底层数据结构为:哈希表)

        • SortedSet接口(无序不可重复,可排序)

          • TreeSet实现类(底层数据结构为二叉树)

  • Map接口(以键值对的方式存储对象的引用,Map集合的key部分存储的就是Set集合中的元素)

    • HashMap接口

    • Hashtable实现类(线程安全,但效率低)

      • Properties实现类(键值对必须都是以字符串的形式存在)

    • SortedMap接口(可排序的)

      • TreeMap实现类(底层数据结构为二叉树)

posted @ 2021-10-03 20:02  安妍  阅读(170)  评论(0)    收藏  举报