List

ArrayList

get() 直接读取下标,复杂度 O(1)

add(E) 直接在队尾添加,复杂度 O(1)

add(index, E) 在第n个元素后插入,n后面的元素需要向后移动,复杂度 O(n)

remove() 删除元素后面的元素需要逐个前移,复杂度 O(n)

LinkedList

addFirst() 添加队列头部,复杂度 O(1)

removeFirst() 删除队列头部,复杂度 O(1)

addLast() 添加队列尾部,复杂度 O(1)

removeLast() 删除队列尾部,复杂度 O(1)

getFirst() 获取队列头部,复杂度 O(1)

getLast() 获取队列尾部,复杂度 O(1)

get() 获取第n个元素,依次遍历,复杂度O(n)

add(E) 添加到队列尾部,复杂度O(1)

add(index, E) 添加到第n个元素后,需要先查找到第n个元素,复杂度O(n)

remove() 删除元素,修改前后元素节点指针,复杂度O(1)

Set

HashSet

add() 复杂度为 O(1)

remove() 复杂度为 O(1)

contains() 复杂度为 O(1)

TreeSet(基于红黑树)

add() 复杂度为 O(log (n))

remove() 复杂度为 O(log (n))

contains() 复杂度为 O(log (n))

map

TreeMap(基于红黑树)

平均时间复杂度 O(log n)

HashMap

正常时间复杂度 O(1)~O(n)

红黑树后 O(log n)

LinkedHashMap

能以时间复杂度 O(1) 查找元素,又能够保证key的有序性

java hashset 时间复杂度_Java 集合时间复杂度相关推荐

  1. java jcf查看_JAVA 集合框架(JCF)

    网络上搜索java集合框架各种理论知识,图谱都有,只要你认真看就会有收获,博主是一个坚决不随意"造轮子"的新人,所以我的这篇文章就总结一下我所学到的JCF. 首先谈一下我的学习路径 ...

  2. java linkedlist 长度_Java集合之LinkedList

    对于LinkedList来说,其基本特性如下: 基本特性 结论 元素是否允许为null 是 元素是否允许重复 是 是否有序 是 是否线程安全 否 与ArrayList是一致的. 源码分析 本文使用的是 ...

  3. java 方法 示例_Java集合syncedSet()方法与示例

    java 方法 示例 集合类syncedSet()方法 (Collections Class synchronizedSet() method) synchronizedSet() method is ...

  4. java族谱设计_Java集合族谱总结

    集合族谱核心成员 集合族谱核心成员 所有的集合类,都实现了Iterator接口,这是用于遍历集合中元素的接口:Java集合框架核心是两个类型的容器,一种是集合(Collection),存储单一元素,一 ...

  5. java set复制_Java 集合系列之三:Set基本操作

    1. Java Set 1. Java Set 重要观点 Java Set接口是Java Collections Framework的成员. Set不允许出现重复元素-----------无重复 Se ...

  6. java jcf查看_Java 集合系列之一:JCF集合框架概述

    容器,就是可以容纳其他Java对象的对象.Java Collections Framework(JCF)为Java开发者提供了通用的容器 java集合主要划分为四个部分: Collection(Lis ...

  7. java treeset原理_Java集合 --- TreeSet底层实现和原理(源码解析)

    概述 文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明. TreeSet实现了S ...

  8. java map 排序_java集合框架面试题大集合

    1.介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)[基础] 答:Collection FrameWork 如下: Collection: ├List │├Link ...

  9. java list负载_java集合的扩容和负载因子的总结

    List 元素是有序的.可重复 ArrayList.Vector默认初始容量为10 Vector:线程安全,但速度慢 底层数据结构是数组结构 加载因子为1:即当 元素个数 超过 容量长度 时,进行扩容 ...

最新文章

  1. ucosii事件控制块------消息邮箱与消息队列
  2. html 文本强调,CSS Emphasis Marks 文本强调标记
  3. java坐标移动题目case_坐标移动
  4. MyEclipse 深色主题
  5. 现代软件工程 M1 博客要求
  6. jquery 自动完成 Autocomplete
  7. 用iTunes管理iPhone
  8. 示例1---从记事本中读取数值,然后写到数组中
  9. 我的第一次--我与51CTO的故事
  10. vue插件大全汇总,你要的都这里,赶紧收藏下!
  11. 【笔记】感谢《梦幻模拟战》的Unity+Spine资源,同人模式开启
  12. Paper Reading: Re-ranking Person Re-identification with k-reciprocal Encoding
  13. android数据线投屏电视机,手机投屏电视的几种方式点评
  14. 华为鸿蒙os下载安装,华为鸿蒙系统安装包
  15. XML Publisher 模板
  16. HTML列表标签,赶紧收藏!
  17. Nature调查 | 85%硕博生存在财务危机,近一半或因此放弃学业
  18. 笑谈ArcToolbox (4) ArcToolbox的隐藏关
  19. notion 科研_Extensions of the notion of overall comonotonicity to partial comonotonicity
  20. WSL下Docker使用踩坑小记

热门文章

  1. Qt 加载百度地图 加载google地图
  2. python 二维两点距离_python 各类距离公式实现
  3. 运算放大器典型电路及原理(转载)
  4. 运算放大器的理解与应用
  5. 材料物理性能参数介绍及ANSYS —Workbench添加或修改仿真材料的方法
  6. php正则表达式 定界符,PHP正则表达式之定界符和原子介绍
  7. 网络研讨室_Java移动开发网络研讨会2:续集
  8. WeakReference 学习和使用
  9. java过滤器过滤Emoji 表情
  10. C# ListView排序