【Java基础】Java容器相关知识小结

Java容器相关知识

    • [0. 前言](#0. 前言)
    • [1. Collection接口](#1. Collection接口)
      • [1.1. List接口](#1.1. List接口)
        • [1.1.1. ArrayList](#1.1.1. ArrayList)
        • [1.1.2. LinkedList](#1.1.2. LinkedList)
        • [1.1.3. Vector](#1.1.3. Vector)
        • [1.1.4. Stack](#1.1.4. Stack)
      • [1.2. Set接口](#1.2. Set接口)
        • [1.2.1. HashSet](#1.2.1. HashSet)
        • [1.2.2. LinkedHashSet](#1.2.2. LinkedHashSet)
        • [1.2.3. TreeSet](#1.2.3. TreeSet)
      • [1.3. Queue接口](#1.3. Queue接口)
        • [1.3.1. PriorityQueue](#1.3.1. PriorityQueue)
        • [1.3.2. LinkedList](#1.3.2. LinkedList)
    • [2. Map接口](#2. Map接口)
      • [2.1. HashMap](#2.1. HashMap)
      • [2.2. TreeMap](#2.2. TreeMap)
      • [2.3. LinkedHashMap](#2.3. LinkedHashMap)
    • 3.常见用法------增/删/改/查/排序/容量
    • 后记
    • 参考文章

0. 前言

容器,顾名思义,就是java中存储数据的常用结构,在C++中我们接触过数组、链表等等,在java中,容器则进一步规范化,形成了如下的容器接口继承关系图:

java容器主要包括collection接口(集合)和map接口(图)

1. Collection接口

1.1. List接口

1.1.1. ArrayList

数组实现,查询快,增删慢,线程不安全,效率高;

1.1.2. LinkedList

链表实现,查询慢,增删快,线程不安全,效率高;

1.1.3. Vector

数组实现,查询快,增删慢,同步访问

1.1.4. Stack

vector子类,先进后出,vector不常用,stack却很常用。

1.2. Set接口

1.2.1. HashSet

基于HashMap实现,线程不安全,效率高;

存储元素无序,不可重复;

1.2.2. LinkedHashSet

基于LinkedHashMap实现,线程不安全,效率高;

存储元素有序,不可重复;

1.2.3. TreeSet

基于TreeMap实现,线程不安全,效率高;

存储元素有序,不可重复;

1.3. Queue接口

1.3.1. PriorityQueue

通过二叉小顶堆实现,可以用一棵完全二叉树表示。

1.3.2. LinkedList

链表实现,查询慢,增删快,线程不安全,效率高;

2. Map接口

2.1. HashMap

数组+链表+红黑树实现,线程不安全,效率高;

重点是扩容和红黑树转换

2.2. TreeMap

和HashMap无序排序不同,SortedMap接口在内部会对Key进行排序,注意到SortedMap是接口,它的实现类是TreeMap。

2.3. LinkedHashMap

底层数据结构类似hashmap,但是内部还有一个双向链表维护键值对的顺序,每个键值对既位于哈希表中,也位于双向链表中。LinkedHashMap支持两种顺序插入顺序、访问顺序。

3.常见用法------增/删/改/查/排序/容量

以上是简单的容器特性介绍,下面是一些常用的容器类的使用方法,废话不多说,上图:

后记

如果觉得我写得还算不错,不妨点赞关注一波走起~

想看更多博文,请访问我的各平台主页:博客园 / CSDN / 51CTO / 掘金论坛 / 知乎

参考文章

  1. Java常用容器基础操作汇总
  2. 菜鸟教程相关文章
相关推荐
冉佳驹8 分钟前
数据结构 ——— 快速排序的时间复杂度以及规避最坏情况的方法
c语言·数据结构·算法·排序算法·快速排序算法·三数取中
李小白661 小时前
各种排序算法
数据结构·算法·排序算法
浪前1 小时前
排序算法之冒泡排序篇
数据结构·算法·排序算法
小黄编程快乐屋1 小时前
各个排序算法基础速通万字介绍
java·算法·排序算法
kingwebo'sZone1 小时前
ASP.net WebAPI 上传图片实例(保存显示随机文件名)
后端·asp.net
桑榆肖物1 小时前
一个简单的ASP.NET 一致性返回工具库
后端·asp.net
材料苦逼不会梦到计算机白富美3 小时前
贪心算法-区间问题 C++
java·c++·贪心算法
羚羊角uou4 小时前
【C++】list模拟实现(详解)
开发语言·c++
组态软件4 小时前
web组态软件
前端·后端·物联网·编辑器·html