Java数据结构
深入探索Java数据结构
free_java
这个作者很懒,什么都没留下…
展开
-
Java数据结构(6)-ArrayDeque
前两篇讲过,ArrayList使用数组性能很高,LinkedList更擅长处理头部数据。而ArrayDeque即使用数组,又擅长处理头部数据。相关特点前面章节已经详细介绍过,所以,要理解ArrayDeque,请先理解前几篇文章的内容。双端队列上一篇讲过,LinkedList用链表实现了Deque,即双端队列。ArrayDeque则用数组实现了Deque,Deque用法参考第5篇结尾。现在eclip...原创 2018-03-24 09:33:27 · 417 阅读 · 0 评论 -
Java数据结构(5)-LinkedList
上一篇讲过,ArrayList在指定位置增加和删除性能较低。而有一种公认的观点:在经常添加和删除的场景下,LinkedList性能比ArrayList更高,这种说法是否可靠?本篇就来探讨一下。Node结构LinkedList集合中的每一个元素都是一个结点,将多个结点链接到一起,就是链表结构。以下是结点Node的源码,它是LinkedList的内部类。这段内容很简单,结点有三个引用变量和一个基本的构...原创 2018-03-18 14:56:52 · 504 阅读 · 0 评论 -
Java数据结构(4)-ArrayList
ArrayList是一个类,这个类有一个数组参数elementData,ArrayList集合中的元素正是保存在这个数组中,它继承了数组查询的高性能,参考第3篇。ArrayList还封装了很多方法,便于对数组中的数据进行操作处理,其中就包括上一篇说的扩容,建议先理解第3篇数组。扩容原理在eclipse中调试以下代码,如下设置四个断点,打开调试视图。 public static void main(...原创 2018-03-11 12:52:22 · 555 阅读 · 0 评论 -
Java数据结构(3)-数组
在java中,数组是查询性能最高的数据类型,同时也是集合类型的底层实现。内存结构String[] array = new String[10];如上,这里new了一个数组对象,数组中有10个引用元素,每个引用 又可以指向一个String对象。这10个引用元素并没有存储在数组对象中,而是在另一块内存中连续存储。上一篇讲过,数组对象只有16个字节,存储不下那么多元素,只需要存储第1个元素的内存地址。那...原创 2018-03-04 15:12:58 · 563 阅读 · 0 评论 -
Java数据结构(2)-变量与对象
变量与对象是所有数据类型的底层,如果不能准确理解变量与对象,就无法准确理解各种数据类型。识别变量与对象看看以下代码中,哪些是变量,哪些是对象。 int a = 1; int b = a; int c = 1; String x = new String(); String y = x; String z = new String();基本类型变量:java中有8种基本类型,其...原创 2018-02-25 14:24:38 · 848 阅读 · 0 评论