JAVA 常见数据结构



实现Collection 接口

* List 接口

常用方法:add,get

  • ArrayList 访问任意位置效率高,增删效率可能会低
  • LinkedList 双向链表,两端效率高

* Set 接口

常用方法:add,contains(判断有无)

  • HashSet 不重复、无序。(内部使用 HashMap 的键这一列来存放数据)
    • LinkedHashSet 继承自HashSet,用链表维护元素之间的顺序
  • TreeSet 不重复、有序。(内部使用 TreeMap 的键这一列来存放数据)

实现Map 接口

常用方法:put,get

  • HashMap 内部存储结构:哈希表(散列表)。键无序、不重复。
    • LinkedHashMap 继承自HashMap, 底层额外维护了一个双向链表来维持数据有序。
  • WeakHashMap 改进的HashMap,对key实行“弱引用”
  • TreeMap 内部存储结构:二叉树(红黑树)。键有序、不允许null。
  • ConcurrentHashMap 线程安全
  • Hashtable 线程安全,元素不可为空
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文地址 Java集合 Java集合框架:是一种工具类,就像是一个容器可以存储任意数量的具有共同属性的对象。 Ja...
    gyl_coder阅读 1,042评论 0 8
  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 2,094评论 0 13
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,576评论 1 14
  • 集合类框架的介绍: ![Java 集合类框架](https://upload-images.jianshu.io/...
    LynnGuo阅读 804评论 0 1
  • 最近的天气冷得让人打颤,吃过晚饭,从东门回来的路上,我把手插在兜里御寒。不至于让他暴露在冰冷的空气里变得僵硬麻木。...
    稀饭被注册了阅读 406评论 2 3

友情链接更多精彩内容