摘要: 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻 阅读全文
posted @ 2018-11-21 12:39 rainple 阅读(1205) 评论(0) 推荐(0) 编辑
摘要: 在上一篇博客【教你如何使用Java手写一个基于数组的队列】中已经介绍了队列,以及Java语言中对队列的实现,对队列不是很了解的可以我上一篇文章。那么,现在就直接进入主题吧。 这篇博客主要讲解的是如何使用单链表实现一个简单版的队列。单向链表队列是属于非循环队列,同时队列的长度是不受限制的,也就是说添加 阅读全文
posted @ 2018-11-21 10:01 rainple 阅读(1750) 评论(0) 推荐(0) 编辑
摘要: 一、概述 队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进 阅读全文
posted @ 2018-11-20 16:18 rainple 阅读(8288) 评论(4) 推荐(3) 编辑
摘要: 一段来自百度百科的对二叉树的解释: 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是 阅读全文
posted @ 2018-11-19 15:56 rainple 阅读(12638) 评论(7) 推荐(0) 编辑
摘要: Map是Java collection framework 中重要的组成部分,特别是HashMap是在我们在日常的开发的过程中使用的最多的一个集合。但是遗憾的是,存放在HashMap中元素都是无序的,原因是我们在put或get数据的时候都是根据key的hash值来确定元素的位置。在具体的业务场景中, 阅读全文
posted @ 2018-11-13 17:58 rainple 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 一、LinkedList概述 LinkedList的底层数据结构为双向链表结构,与ArrayList相同的是LinkedList也可以存储相同或null的元素。相对于ArrayList来说,LinkedList的插入与删除的速度更快,时间复杂度为O(1),查找的速度就相对比较慢了,因为每次遍历的时候 阅读全文
posted @ 2018-11-12 15:25 rainple 阅读(535) 评论(0) 推荐(2) 编辑
摘要: 一、ArrayList概述 首先我们来说一下ArrayList是什么?它解决了什么问题?ArrayList其实是一个数组,但是有区别于一般的数组,它是一个可以动态改变大小的动态数组。ArrayList的关键特性也是这个动态的特性了,ArrayList的设计初衷就是为了解决Java数组长度不可变的问题 阅读全文
posted @ 2018-11-09 16:06 rainple 阅读(533) 评论(0) 推荐(1) 编辑
摘要: 通过阅读源码发现,HashSet底层的实现源码其实就是调用HashMap的方法实现的,所以如果你阅读过HashMap或对HashMap比较熟悉的话,那么阅读HashSet就很轻松,也很容易理解了。我之前也写了一篇关于hashMap源码阅读的文章,可以点击这里查看。 使用过HashSet的都清楚它保存 阅读全文
posted @ 2018-11-09 10:15 rainple 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 文章出处:【noblogs-it技术博客网站】的博客:jdk1.8源码分析 在Java语言中使用的最多的数据结构大概右两种,第一种是数组,比如Array,ArrayList,第二种链表,比如ArrayLinkedList,基于数组的数据结构特点是查找速度很快,时间复杂度为 O(1),但是删除的速度比 阅读全文
posted @ 2018-11-08 22:11 rainple 阅读(374) 评论(0) 推荐(0) 编辑
摘要: Integer 由final修饰了,所以该类不能够被继承,同时 Integer 继承了Number类,因此可以将Integer转换成 int 、double、float、long、byte和short类型的数据,另外,也实现了comparable接口,因此Integer类也可以进行自然排序。 构造方 阅读全文
posted @ 2018-11-02 16:59 rainple 阅读(180) 评论(0) 推荐(0) 编辑