美文网首页
简述java常用集合的数据结构

简述java常用集合的数据结构

作者: 愚公孙子 | 来源:发表于2019-01-14 00:48 被阅读0次

HashSet:

底层是用hashmap实现的,value就是map<k,v>的key,value是static final对象。

TreeSet:

底层采用的是红黑树,实现有序化。

ArrayList:

底层采用数组,当数据超过数组容量,将会新建一个1.5倍长度的新数组,然后再将原数组的数据克隆过去,擅长查询,拙于修改。

Linkedlist

底层采用双向链表,擅长修改,拙于查询。

HashMap

在jdk1.7以前,是entity数组和链表的组合,先获取key的hashcode确定对应的数组下标,当如果已经有对象,则遍历对比是否有相同的,有就替代,没有就放链表末尾。但由于链表仍然可能存在过长的情况,这会提高hashmap的时间复杂度,所以jdk1.7以后,在数组长度大于64,链表长度大于8时,会转化为红黑树,降低原链表查询的时间复杂度。

ConcurrentHashMap

以前是通过两次hash算法,第一层是statement数组(每个Segment包含多个entity),第二层是entity数组,采用分段锁基数,对每个statement都拥有一个锁,实现线程安全。在JDK1.8以后,采用synchronized和cas和自旋锁来保证线程安全,红黑树保证效率

相关文章

  • Java基础之集合类

    Java基础之集合类 集合类简单介绍 Java集合是Java提供的工具包,包含了常用的数据结构:集合、链表、队列、...

  • 简述java常用集合的数据结构

    HashSet: 底层是用hashmap实现的,value就是map的key,value是static ...

  • 集合概述

    一:集合的UML类图 二:集合工具的分析 (Java集合是java提供的工具) 常用的数据结构: 集合、链表、队列...

  • Java集合干货系列-集合总体大纲

    前言 Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工...

  • Vector

    Java集合 Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Jav...

  • Java 集合工具包

    Java 集合工具包 Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等...

  • Java 集合框架

    Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位...

  • Collection、Map总体框架

    java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位...

  • 集合总体框架

    Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位...

  • Collection 总结

    Collection Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等...

网友评论

      本文标题:简述java常用集合的数据结构

      本文链接:https://www.haomeiwen.com/subject/gtlrdqtx.html