Java Collection、Map集合总结-阿里云开发者社区

开发者社区> 开发与运维> 正文

Java Collection、Map集合总结

简介: 1.Java中的Collection集合总结 Collection   |---List(存储有序,可重复)     |---ArrayList       底层数据结构是数组,查询快,增删慢。

1.Java中的Collection集合总结

Collection

  |---List(存储有序,可重复)

    |---ArrayList

      底层数据结构是数组,查询,增删慢。

      线程不安全、效率高

    |---Vector

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

      线程安全、效率低。

    |---LinkedList

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

      线程不安全,效率高

  |---Set(存储无序,元素唯一)

    |---HashSet

      底层数据结构是哈希表。

      依赖hashCode()和equals()两个方法进行保证元素唯一性,开发中使用开发工具自动生成就好。

      |---LinkedHashSet

        底层数据结构是链表和哈希表

        链表保证元素有序

        哈希表保证元素唯一

    |---TreeSet

      底层数据结构是红黑树。

      如何保证元素排序呢?自然排序或者比较器排序。

      如何保证元素唯一呢?根据比较结果是否为0来进行判断。

 

Map

  |---HashMap

    底层是数组链表,使用hash算法来保证元素存储位置

      |---LinkedHashMap

  |---TreeMap

    底层是红黑树实现。

 

集合中常见的数据结构总结

  ArrayXxx:底层数据结构是数组,查询快,增删慢
  LinkedXxx:底层数据结构是链表,查询慢,增删快
  HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()
  TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序

 

Collection和Collections的区别?

  1.Collection 是单列集合的顶层接口,有两个子接口List和Set

  2.Collections 是针对集合进行操作的工具类,可以对集合进行排序和查找等

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章