JDK集合框架--综述】的更多相关文章

   接下来的几篇博客总结一下对jdk中常用集合类知识,本篇博客先整体性地介绍一下集合及其主要的api: 从整体上来说,集合分两大类collection和map: 首先来看看Collection: collection主要分为set(无序)和list(有序)两大类,这里分别以HashSet和ArrayList为例,分析: 以上是使用idea生成的类图: collection继承了接口Iterable,用于获取迭代器(Iterator接口的实现类实例),Iterator的实现类都是集合类中的内部类…
文章目录 1. 集合框架(collections framework) 2. 设计理念 3. 两大基类Collection与Map 3.1. Collection 3.2. Map 4. 集合的实现(Collection Implementations) 5. 总结 6. 参考 最近被陆陆续续问了几遍HashMap的实现,回答的不好,打算复习复习JDK中的集合框架,并尝试分析其源码,这么做一方面是这些类非常实用,掌握其实现能更好的优化我们的程序:另一方面是学习借鉴JDK是如何实现了这么一套优雅高…
一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类.2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础.3. 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现.可扩展为自定义集合类.4. 实现类:8个实现类(实线表示),对接口的具体实现.5. Col…
JDK中的集合框架分为两大类:Collection和Map.Collection以一组Object的形式保存元素,Map以Key-Value对的形式保存元素. 上图列出的类并不完整,只列举了平时比较常用的类. 基本接口和类型 Collection集合 该接口是Set和List的父接口,主要提供了下面的方法: boolean add(E e) 往集合中添加新元素.添加成功,返回true,否则返回false Iterator<E> iterator() 返回Iterator对象,这样就可以遍历集合…
一集合框架图 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类.2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础.3. 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现.可扩展为自定义集合类.4. 实现类:8个实现类(实线表示),对接口的具体实现.5. Collectio…
集合 用于存储和管理数据的实体被称为数据结构(data structure).数据结构可用于实现具有不同特性的集合对象,这里所说的集合对象可以看作一类用于存储数据的特殊对象. 集合内部可以采用某种数据结构(数组或链表)来保存元素.例如ArrayList就采用数组作为内部数据结构.TreeSet则使用了二叉搜索树(binary search tree)作为内部数据结构. Java语言中提供了很多有用的集合类型.这些内置的集合类统称为 Java集合框架(Java Collections Framew…
一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类. 2.集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础. 3.抽象类:5个抽象类(长虚线表示),对集合接口的部分实现.可扩展为自定义集合类. 4.实现类:8个实现类(实线表示),对接口的具体实现. 5.Col…
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳理具体类的原理和其中的数据结构.分析源码的好处总结如下三条: 1. 提升自身代码水平及写代码能力. 2. 可以顺带温习数据结构知识点. 3. 以后写代码遇到问题时能够找到最佳的解决办法 二.集合框架图 做一件事情时,首先一定要有做事情的总体方法,然后再去抠细节.我们肯定要来看看集合的总体框架图,也好…
一.前言 完成了JUC的锁框架的分析后,现在分析JUC集合框架,之前分析过的集合框架,很大程度上都不是线程安全的,其在多线程环境下会出现很多问题,为了保证在多线程环境下仍然能够正确安全的访问集合,出现了JUC下的集合框架,下面逐一进行介绍分析. 二.JUC集合框架图 下面给出JUC中的集合框架,之后我们会对其中的类进行详细的分析. 说明:由上图可以看到,JUC的集合框架也是从Map.List.Set.Queue.Collection等超级接口中继承而来的.所以,大概可以知道JUC下的集合包含了一…
1.类继承体系 在集合框架的类继承体系中,最顶层有两个接口Collection.Map: Collection 表示一组纯数据 Map 表示一组key-value对 Collection的类继承体系: Map的类继承体系: 2.集合框架 2.1 ArrayList 可变数组的实现,高效随机访问RandomAccess ,但插入和删除元素时需要复制数组,开销较大:默认容量10,扩容为原来的1.5倍(oldCapacity + (oldCapacity >> 1)): fail-fast : mo…