集合
java集合
AYJCSGM
屠龙者终将成为恶龙。
展开
-
Java集合框架
Java 集合框架集合类存放于Java.util包中,主要有3种:set(集)、list(列表包含Queue)和map(映射)。Collection:Collection是集合List、Set、Queue的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基础接口从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(...原创 2019-11-18 09:28:30 · 191 阅读 · 0 评论 -
简单明了的介绍下TreeMap
TreeMap简介在Map集合框架中,除了HashMap以外,TreeMap也是常用到的集合对象之一。与HashMap相比,TreeMap是一个能比较元素大小的Map集合,会对传入的key进行了大小排序。其中,可以使用元素的自然顺序,也可以使用集合中自定义的比较器来进行排序;不同于HashMap的哈希映射,TreeMap实现了红黑树的结构,形成了一颗二叉树。TreeMap继承于Abstr...原创 2019-12-11 10:35:01 · 1557 阅读 · 0 评论 -
简述TreeSet排序机制
TreeSet简介此集合的实现和树结构有关。与HashSet集合类似,TreeSet也是基于Map来实现,具体实现TreeMap,其底层结构为红黑树(特殊的二叉查找树);与HashSet不同的是,TreeSet具有排序功能,分为自然排序(123456)和自定义排序两类,默认是自然排序;在程序中,我们可以按照任意顺序将元素插入到集合中,等到遍历时TreeSet会按照一定顺序输出(倒序/升序);...原创 2019-12-11 09:53:31 · 706 阅读 · 0 评论 -
简述HashSet的元素唯一机制
HashSet简介HashSet实现Set接口,底层由HashMap来实现,为哈希表结构,新增元素相当于HashMap的key,value默认为一个固定的Object。当有元素插入的时候,会计算元素的hashCode值,将元素插入到哈希表对应的位置中来;它继承于AbstractSet,实现了Set, Cloneable, Serializable接口。(1)HashSet继承Abstrac...原创 2019-12-10 16:12:10 · 259 阅读 · 0 评论 -
学习Queue看这篇就够了(源码分析)
QueueQueue是Java集合框架中的一员,继承于Collection接口。与List、Set相同的是,Queue也实现了一种数据结构,这就是队列。队列是计算机中的一种数据结构,保存在其中的数据具有“先进先出(FIFO,First In First Out)”的特性。在数据结构中,队列不支持从队伍的中间插入和离开,只能从头尾进行。队列的两种形式在Java中,队列分为2种形式,一种是...原创 2019-12-09 21:12:01 · 250 阅读 · 0 评论 -
学习LinkedList看这篇就够了(源码分析)
链表LinkedList是基于链表结构的一种List,在分析LinkedList源码前有必要对链表结构进行说明。链表的概念链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为单向链表和双向链表,而单向/双向链表又可以分为循环链表和非循环链表,下面简单就这四种链表进行图解说明。单向链表单向链表就是通过每个结点的指针指向下一个结点从而链接起来的结构,最后一个节点的next指...原创 2019-10-02 19:34:05 · 573 阅读 · 3 评论 -
学习ArrayList看这篇就够了(源码分析)
ArrayList简介1、ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。2、ArrayList与Collection的关系如下图,实现代表继承,虚线代表实现接口:3、ArrayList实现了Rand...原创 2019-12-09 20:51:08 · 424 阅读 · 0 评论 -
HashMap源码分析(JDK1.8)
HashMap简介:HashMap在底层数据结构上采用了数组+链表+红黑树,通过散列映射来存储键值对数据因为在查询上使用散列码(通过键生成一个数字作为数组下标,这个数字就是hashcode)所以在查询上的访问速度比较快,HashMap最多允许一对键值对的Key为Null,允许多对键值对的value为Null。它是非线程安全的。在排序上面是无序的。HashMap的主要成员变量:trans...原创 2019-10-03 16:45:42 · 172 阅读 · 0 评论 -
重新认识HashMap(JDK1.7与1.8相比较)
摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口...原创 2019-10-05 19:06:49 · 1701 阅读 · 0 评论