摘要:
一、在Map集合体系中的位置及概述 AbstractMap抽象类提供Map接口的骨干实现,以最大限度地减少实现此接口所需的工作量。 二、成员变量 // 保存key transient Set<K> keySet; // 保存value transient Collection<V> values; 阅读全文
摘要:
一、在Map集合体系中的位置及概述 Map接口式是Map集合体系的顶层接口,它定义和规范了该集合体系的大体规范,所有子类该实现的方法。该体系是以键值对(key-value)对位元素进行存储。 描述: (1)映射(map)是一个存储键、键值对的对象,给定一个键,可以查询得到它的值,键和值都可以是对象。 阅读全文
摘要:
一、在Collection集合体系中的位置及概述 AbstractSet抽象类属于Set集合分支的顶层类,它继承了AbstractCollection,实现了Set接口,先回顾一下Set接口,Set接口继承了Collection并没有进行扩展,AbstractCollection实现了Collect 阅读全文
摘要:
面试题 List的子类特点: ArrayList: 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高。 Vector: 底层数据结构是数组,查询快,增删慢。 线程安全,效率低。 LinkedList: 底层数据结构是双向链表,查询慢,增删快。 线程不安全,效率高。 阅读全文
摘要:
Vector讲解 Vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。 Vector的数据结构和ArrayL 阅读全文
摘要:
前面的几篇文章对LinkedList的超类和本身以及接口进行了讲解,为了更加深入理解LinkedList集合使用存储数据的思想,特意实现了一个自定义的MyLinkedList,源码如下:(如有错误,还望多多指教 import java.util.Iterator; import java.util. 阅读全文
摘要:
一、LinkedList在Collection集合体系中的位置 Linked:链表,List:线性表;加在一起,就能理解出LinkedList集合,底层是以链表为存储结构的集合,不过这个链表是双向链表。LinkedList是由AbstractSequentialList超类特化而来。Abstract 阅读全文
摘要:
前面的几篇文章对ArrayList的超类和本身以及接口进行了讲解,为了更加深入理解ArrayList集合使用数组存储数据的思想,特意实现了一个自定义的MyArrayList,源码如下: /** * 自定义ArrayList集合 * @param <E> */ public class MyArray 阅读全文
摘要:
问题场景: 在看完ArrayList类源码的时候决定自己实现了ArrayList集合,经过一番折腾后,整体要实现的功能都已确定。用数组存储数据和数组的动态扩容都已写好。由于自己实现ArrayList只是为了领会一下其核心是想,所有就实现了一个无参构造,对存储数据的数组进行了初始化。 但是无意间发现自 阅读全文
摘要:
一.ArrayList在Colection集合体系中的位置及概述 ArrayList理解起来很简单,Array数组 阵列的意思、List线性表 列表,加在一起就是数组去实现线性表的一个实现类。ArrayList是由AbstractList超类特化而来。在功能上实现了add, get, set, re 阅读全文