随笔分类 - 集合框架
摘要:Java集合框架的基础接口有哪些? Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌 List是一个有序集合,可以包含重复元素
阅读全文
摘要:一个 不包含重复元素 的 collection。更确切地讲,set 不包含满足 的元素对 和 ,并且 最多包含一个 null 元素 。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。 注:如果将可变对象用作 set 元素,那么必须极其小心。如果对象是 set 中某个元素,以一种影响 比较的方
阅读全文
摘要:类图 Iterable 集合框架最顶端的接口,实现接口的遍历。迭代器接口 可进行迭代的接口 ~~~java public interface Iterable { Iterator iterator(); default void forEach(Consumer action) { Objects
阅读全文
摘要:一、前言 前面文章写了关于ArrayList的源码解读,今天也正好把LinkedList一些方法的源码也研究一下。 二、LinkedList特点 基于双向列表,查询速度慢,增删改速度快 三、LinkedList的继承实现关系 LinkedList 是一个继承于AbstractSequentialLi
阅读全文
摘要:LinkedHashMap 概述 LinkedHashMap数据结构相比较于HashMap来说,添加了双向指针,分别指向前一个节点—— before 和后一个节点—— after ,从而将所有的节点已链表的形式串联一起来 ~~~ //HashMap里面的方法在LinkedHashMap进行了重写 v
阅读全文
摘要:Map是一个有键值映射的,但不包括相同key,每个key至多对应一个value。 这个接口替代了Dictionary这个类,Dictionary是抽象类而非接口. 除了一些基本的方法。只要看一下JDK1.8新增的方法 getOrDefault(Object key, V defaultValue)
阅读全文
摘要:概述 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化
阅读全文
摘要:一、前言 一直都只是会用ArrayList,对于ArrayList的理解都比较简单。正好借此机会也把自己观看源码的一些理解写出来。方便自己以后回顾。使用的版本是JDK1.8。 二、ArrayList特点 随机访问速度快,插入和移除性能较差(数组的特点),支持null元素,有顺序,元素可以重复,线程不
阅读全文