Java 集合框架01-----Java集合总览
2023-09-27 14:19:46 时间
今天开始阅读Java集合源码了。重点掌握ArrayList,HashMap的源码
前置问题:
- HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别
- ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。
集合框架类图如下图所示:
接下来我们将按照这个类图来开始我们的分析之旅。
总体说明:
最根部就是两个接口Collection
和Map
1. Collection
主要有List
,Set
和Queue
三个分支,Collection
定义了集合的基本操作,如集合的查找,修改,合并
- List
是一个有序队列,允许重复元素,其实现类ArrayList
,LinkedList
和Vector
- Set
不允许有重复元素。其实现类有HashSet
和TreeSet
,HashSet
的实现依赖于HashMap
,TreeSet
的实现依赖于TreeMap
2. Map
是一个映射接口,即key-value 键值对,其key值只允许一个为null,Value 值可以允许多个值为null。
3. Iterator
是集合的遍历工具,即我们通常所说的Iterator
迭代器。Collection
依赖于Iterator
,所有Collection
的所有实现类都要依赖Iterator
。
4. Arrays
和Collection
是操作数组和集合的工具类。
相关文章
- Java 集合框架03---ArrayList的源码分析
- Java开发知识之Java入门
- python-day4 python中的字典(相当于Java中的map集合)操作
- python-day4 python中的集合(相当于java中的set集合,能够实现去重)
- Java 内部类有坑。。100 % 内存泄露!
- 【Java 集合】集合框架 JCF
- Java基础—集合
- 项目启动时报错Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
- java mat复制问题
- java集合详解和集合面试题目
- Github优秀java项目集合(中文版) - 涉及java所有的知识体系
- Java精选笔记_集合【Map(映射)接口】
- Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
- Java集合面试题(总结最全面的面试题)
- java程序中输出console的日志到文本
- Java-类库-Guava-Immutable(不可变)集合
- java集合框架学习笔记
- java集合框架复习----(4)Map、List、set
- java集合框架复习----(1)
- JAVA实现RSA加密,非对称加密算法
- Java集合框架概述:Collection(List, Set, Queue)和Map
- 【集合框架】Java集合框架综述
- java:使用匿名类直接new接口
- Java知识面试题复习(六)集合容器概述
- Java数据结构和算法——数组、单向链表、双向链表
- Java集合框架:WeakHashMap
- Java集合框架:TreeMap