Java集合框架总结图
- Collection 接口的接口(对象集合)
- ├——-List 接口:元素都有索引,可以重复,有序(迭代器顺序)。
- │—————-├ LinkedList 接口实现类, 双向链表, 查询慢,增删快,效率高, 没有同步, 线程不安全
- │—————-├ ArrayList 接口实现类, 数组, 查询快,增删慢,效率高,支持随机访问, 没有同步, 线程不安全
- │—————-└ Vector 接口实现类 数组,查询快,增删慢,效率低, 同步, 线程安全
- │———————-└ Stack 是Vector类的实现类
- └——-Set 接口: 仅接收一次,不可重复,并做内部排序,存储和取出顺序不一致
- ├ —————└ TreeSet 底层实现为二叉树,支持自然排序(默认)和定制排序,不允许null值
- ├—————-└ HashSet 使用hash表(数组)存储元素 ,无序,允许null值
- └————————└ LinkedHashSet 以元素插入的顺序来维护集合的链接表,允许null值
- Map 接口 键值对的集合 (双列集合)
- ├———Hashtable 接口实现类,哈希表(数组+链表),不允许key、value 是null,无序, 同步, 线程安全(全部锁)
- ├———HashMap 接口实现类,哈希表(数组+链表),允许一个 key 为 null,无序,没有同步, 线程不安全
- │—————–├ LinkedHashMap双向链表和哈希表实现 ,key和value都允许为空,迭代器顺序,线程不安全
- │—————–└ WeakHashMap
- ├ ——–TreeMap 红黑树对所有的key进行排序,value允许为null,key不允许为null,红黑树顺序(可自定义),线程不安全
- ├ ——–ConcurrentHashMap 数组+链表+红黑树,不允许key、value 是null,无序,线程安全(部分锁)
- └———IdentifyHashMap
——————————————————————————————————————————————
ConcurrentHashMap的应用场景是高并发,但是并不能保证线程安全。
ConcurrentHashMap能够保证每一次调用都是原子操作,但是并不保证多次调用之间也是原子操作。
ConcurrentHashMap是使用了锁分段技术技术来保证线程安全的。
锁分段技术:首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。
Java集合框架总结图的更多相关文章
- Java集合框架类图
Java集合框架的类图 http://blog.toruneko.net/28
- Java集合框架类
java集合框架类图 Collection接口(List.Set.Queue.Stack):
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- 知识点:Java 集合框架图
知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList Java集合框架图 我们经常使用的Arrayist.LinkedList继承的关系挺复 ...
- 从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射
从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Collection 接口又有 3 ...
- 【集合系列】- 初探java集合框架图
一.集合类简介 Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)"丢进"该容器中.从Java 5 增加了泛型以后,Java集合可以记住容器中对象的数 ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- 22章、Java集合框架习题
1.描述Java集合框架.列出接口.便利抽象类和具体类. Java集合框架支持2种容器:(1) 集合(Collection),存储元素集合 (2)图(Map),存储键值对.
- (转)Java集合框架:HashMap
来源:朱小厮 链接:http://blog.csdn.net/u013256816/article/details/50912762 Java集合框架概述 Java集合框架无论是在工作.学习.面试中都 ...
- Java集合框架
集合框架体系如图所示 Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包. Map接口的常用方法 Map接口提 ...
随机推荐
- 🔥🔥🔥httpsok-v1.8.0 SSL证书自动续签就应该这么简单
httpsok-v1.8.0 SSL证书自动续签就应该这么简单 简介 一行命令,一分钟轻松搞定SSL证书自动续期 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx 服务器设 ...
- js图片懒加载,在不做分页的情况下的解决方案
Intersection Observer API 1.注意点 一般都是后端返回数据, 用 this.$nextTick(() => { this.handleScroll(); }); 确保d ...
- iPad 远程控制 Mac 电脑远程办公的终极解决方案
作为安全技术人员来说,用 iPad 远程控制 Mac 电脑,在我看来是一件很酷的事情! 首先吐槽一下自己为什么会有这个奇怪的想法,原因是因为,目前我有一个16寸的mac,我每天下班的第一个动作就是先把 ...
- 计算机网络基础 — Linux 内核网络协议栈
目录 文章目录 目录 前文列表 前言 数据报文的封装与分用 Linux 内核网络协议栈 协议栈的分层结构 协议栈的数据结构 网络协议栈初始化流程 Socket 创建流程 协议栈收包流程概述 协议栈发包 ...
- 详解 XSS 攻击原理
更多优质博文请关注:听到微笑的博客 跨站脚本攻击(Cross Site Scripting)本来的缩写为CSS,为了与层叠样式表(Cascading Style Sheets,CSS)的缩写进行区分, ...
- Java 8 中Stream用法
Stream是Java 8新增的接口,Stream可以认为是一个高级版本的 Iterator. 废话不多说直接上代码 package com.example.demo; import org.juni ...
- Django模板templates
1.模板文件的路径配置 2.模板中变量替换 3.变量渲染之深度查询 4.内置过滤器 过滤器的语法: {{obj|过滤器名称:过滤器参数}} 内置过滤器: 过滤器例子: 5.注释 6.多行注释 7.if ...
- 创建Django项目和应用
1.创建Django项目 django-admin startproject 项目名称 2.创建应用app python manage.py startapp app名称
- 7.16考试总结(NOIP模拟17)[世界线·时间机器·weight]
车如流水马如龙,花月正春风 前言 其实,一开始 T1 是看错了题的,我以为是无向图来着,就想直接搞到每一个联通块的完全图,然后减去总边数就好了. 发现错误之后,码了个暴力,想得 40pts 来着,没想 ...
- 网页CSS源码
EntryTag { margin-top:20px; font-size:9pt; color:gray } .topicListFooter { text-align:right; margin- ...