![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
我一定要成为架构师
这个作者很懒,什么都没留下…
展开
-
IDE详细介绍
文章目录集合Interface CollectionInterface ListInterface SetIDE(Integrated Development Environment)集成开发环境对于 Java 中的常量的命名规则:所有单词的字母都是大写,如果有多个单词,那么使用下划线连接即可。 比如说:public static final int AGE_0F_PERSON = 20;...原创 2018-12-23 10:16:24 · 3906 阅读 · 0 评论 -
查找
文章目录线性表的查找顺序查找折半查找使用非递归实现折半查找线性表的查找顺序查找逐个比较查询,如果找到,返回数据或索引,如果到最后也没有找到,返回null可以是在顺序表中,也可以是在链表中在各个结点查找概率相同情况下,默认查询长度为一般长度,所以时间复杂度是T(n)=O(n)package DataStructure.search;/** * @Description TODO 功...原创 2019-06-03 18:40:30 · 215 阅读 · 0 评论 -
排序及其分类
文章目录什么是排序内部排序和外部排序稳定排序和不稳定排序比较排序和非比较排序排序类型排序效率什么是排序排序(sorting)的功能是将一个数据元素的任意序列,重写排列成一个按关键字有序的序列。其确切的定义为:假设有n个数据元素的序列(R1,R2.,。。。,Rn),其相应关键字的序列是(K1,K2,。。。,Kn)。通过排序要求找出下标1,2,。。。,n的一种排列p1,p2,。。。,pn,使得相应...原创 2019-06-09 07:58:05 · 3825 阅读 · 0 评论 -
单链表
文章目录单链表及其节点单链表的查询、添加、删除操作分析查询添加删除操作单链表及其节点链表是一系列的存储数据元素的单元通过指针串接起来形成的,因此每个单元至少有两个域,一个域用于数据元素的存储,另一个域是指向其他单元的指针。这里具有一个数据域和多个指针域的存储单元通常称为结点(node)一个最简单的结点结构如图所示,它是构成单链表的基本结点结构。在结点中数据域用来存储数据元素,指针域用于指向下...原创 2019-05-28 20:24:20 · 799 阅读 · 0 评论 -
Map接口
文章目录Map接口get()和put()get()put()视图SortMap接口Map接口除了类集, Java 2还在java.util中增加了映射。**映射(map)**是一个存储关键字和值的关联或者说是关键字/值对的对象。给定一个关键字,可以得到它的值。 关键字和值都是对象。 关键字必须是唯一的。 但值是可以重复的。有些映射可以接收null关键字和null值。而有的则不行。jav...原创 2019-01-02 22:09:58 · 2459 阅读 · 0 评论 -
泛型详解
文章目录泛型Generic多个泛型实现数组的泛型集合的泛型泛型的泛型泛型泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小地抛出ClassCastExceptions的可能。ClassCastExceptions(类型转换异常)我们来举一个小例子:package fiftyThird;import java.util.List;import ...原创 2019-01-05 21:57:59 · 345 阅读 · 1 评论 -
自定义泛型与泛型的常见陷阱
文章目录ArrayListIteratorSetMapArrayList之前我们使用ArrayList没有使用泛型,是错误的我们要改正过来。package fiftyFourth;import java.util.ArrayList;import java.util.List;public class ArrayListTest { public static void mai...原创 2019-01-05 21:57:26 · 472 阅读 · 0 评论 -
从以前版本遗留下来的类和接口
文章目录Enumeration接口VectorVector的构造函数:HashtableHashtable的构造函数如下所示:Propertiesjava.util的最初版本中不包括类集框架。取而代之,它定义了几个类和接口提供专门的方法用于存储对象。随着在Java 2中引入类集,有几种最初的类被重新设计成支持类集接口。因此它们与框架完全兼容。尽管实际上没有类被摈弃,但其中某些仍被认为是过时的。当...原创 2019-01-05 14:34:57 · 290 阅读 · 0 评论 -
HashSet与HashMap源码深入剖析
文章目录HashSet 底层是使用 HashMap 实现的。 当使用 add 方法将对象添加到 Set 当中时,实际上是将该对象作为底层所维护的 Map 对象的 key,而 value 则都是同一个 Object对象(该对象我们用不上);HashMap 底层维护一个数组,我们向 HashMap 中所放置的对象实际上是存储在该数组当中;当向 HashMap 中 put 一对键值时,它会...原创 2019-01-05 10:02:36 · 128 阅读 · 0 评论 -
LinkedList实现Stack与Queue
文章目录ArrayListLinkedListArrayList无参的构造方法我们已经了解了,接下来我们了解下有参的构造方法public ArrayList(int initialCapacity)Constructs an empty list with the specified initial capacity. (构造一个空的列表使用初始的容量)initialCapacity ...原创 2018-12-31 11:43:53 · 1897 阅读 · 1 评论 -
Set(集合)
文章目录HashSetTreeSetHashSetHashSet扩展AbstractSet并且实现Set接口。它创建一个类集,该类集使用散列表进行存储。散列表通过使用称之为散列法的机制来存储信息。在散列(hashing)中,一个关键字的信息内容被用来确定唯一的一个值,称为散列码(hash code)。而散列码被用来当做与关键字相连的数据的存储下标。关键字到其散列码的转换是自动执行的——你...原创 2018-12-31 09:58:34 · 623 阅读 · 0 评论 -
策略模式(Strategy)
文章目录策略模式(Strategy Pattern)策略模式的定义策略模式的意义策略模式的组成策略模式的实现策略模式的编写步骤Collections策略模式(Strategy Pattern)策略模式中体现了两个非常基本的面向对象设计的原则封装变化的概念编程中使用接口,而不是对接口的实现面向接口的编程策略模式的定义定义一组算法,将每个算法都封装起来,并且使它们之间可以互换...原创 2019-01-03 22:06:21 · 511 阅读 · 0 评论 -
哈希表
文章目录引入哈希表哈希表的结构和特点哈希表使如何添加数据的哈希表使如何查询数据的hashCode和equals到底有什么神奇的作用各种类型数据的哈希码应该如何获取hashCode()如何减少冲突引入哈希表前面查询方法共同特点:通过将关键字值与给定值比较,来确定位置。效率取决比较次数。理想方法是:不需要比较,根据给定值能直接定位记录的存储位置。这样,需要在记录的存储位置与该记录的关键字之间建立一...原创 2019-06-04 19:13:30 · 131 阅读 · 0 评论