数据结构
CringKong
高级语言生产,底层思维学习
展开
-
数据结构--表、栈和队列
表、栈和队列几乎是最简单也是最基本的三种数据结构,无论是Java中的集合类对应的List,Queue,Set对应的实现类,还是JVM内存结构中的Java栈,操作数栈,亦或Python中的List,甚至操作系统中的栈区,可以说每一个有意义的程序都或多或少的要使用这几种数据结构。1.表 表(List)是最基本的线性数据结构,所谓线性表,就是有多个数据特性相同的元素构成的有限的序列举个简单地例子,原创 2018-03-09 12:17:35 · 385 阅读 · 0 评论 -
Java增强for循环--foreach深入探讨
首先我们来认识Java中的foreach,foreach也被称为增强的for循环我们来看一下他的基本用法对于基本数据类型的数组遍历有如下用法: int[] arr = new int[100]; // foreach写法 for (int i : arr) { System.out.println(i); ...原创 2018-03-09 17:02:31 · 986 阅读 · 0 评论 -
数据结构--哈希表(散列表)
在学习Java集合HashMap源码时,了解到了HashMap是底层的数据结构是基于哈希表(也叫散列表),意识到以前对于哈希表的学习也是浅尝辄止的,故做了一番功课以后,写下这篇文章。一. 定义1.1 如何存储键值对?1.2 哈希算法1.3 哈希表1.4 哈希冲突链地址法(Separate chaining)开放地址法(Open addressing)再哈希法(rehash)...原创 2018-06-07 17:07:47 · 727 阅读 · 0 评论 -
关于equals和hashCode,看这一篇真的就够了
这几天在尝试手撸一个类似Lombok的注解式代码生成工具,用过Lombok的小伙伴知道,Lombok可以通过注解自动帮我们生产equals()和hashCode()方法,因此我也想实现这个功能,但是随着工作的深入,我发现其实自己对于equals()和hashCode()的理解,也处在一个很低级的阶段。因此痛定思痛,进行了一番深入学习,才敢来写这篇博客。文章目录1、equals在Java中含义2...原创 2019-04-21 14:27:54 · 4553 阅读 · 3 评论