本文将介绍java一些关键词并进行解析,便于快速理解java里的一些知识
1、导包 import java.util.*;、 通用各类包 方便快捷
一、集合
1、键值对: key value 比如:手机通讯录中, 键:小明, 值:18685858888(小明号码),这就是所谓键值对
键:就是你存的值的编号 值:就是你要存放的数据
2、线性表:最基本、最简单、也是最常用的一种数据结构,线性表是数据结构的一种,一个线性表
是n个具有相同特性的数据元素的有限序列
例如:26个英文字母表:(A B C D E F…Z)是一个线性表,表中的数据元素是个单个字母字符
例如:某校从1978年到1983年各种型号的计算机拥有量的变化情况,可以用线性表的形式:
(6、17、28、50、92、128、),表中数据元素是整数
在复杂的线性表中,一个数据元素可以由若干个数据项组成,常把数据元素称为记录,含有大量
记录的线性表又称为文件
3、哈希表:数据结构的一种
又叫散列表,是存储键值对(Key-value)的表,是因为它的特性:
它把关键码key映射(对应)到表中的一个位置来直接方法,这样的访问速度就很快,
其中的映射函数被称为散列函数
原理:核心是理解所谓的哈希函数(散列函数),即如何构建一个确定的映射(对应),
它能把关键字映射(对应)到一个唯一的存储位置,这种映射(对应)应该是可以计算的,已知关键字,我
们应该能算出其地址,反之,已知地址,我们可以检索到对应的关键字,一旦建立这种关系,那么
给一个关键字,就可以利用这个映射(对应)即所谓的哈希函数直接算出地址并找到,可以缩减确定
关键字存储位置所花的时间、
哈希码:不同的对象根据 hashCode方法获得的返回值
哈希冲突:当一个对象存入数组中,第二个对象也准备存入的时候,若它们的哈希码相同
就会发生 哈希冲突
哈希冲突的处理方法:调用equals 检查它们之间的关系:
1、如果相等,系统就覆盖第一个对象
2、如果不等,系统视为它们下标冲突,放在同一条链上
如果它们的哈希码不同,直接存入第二个对象
4、栈:又名堆栈,是指数据暂时存储的地方,是一种运算受限的线性表,其限制是仅运行在表的一端进行插入和删除运算,
这个端被称为栈顶,另一端称为栈底,向一个栈插入新元素被称为进栈,原理是
把新元素放到栈顶元素的上面,使之称为新的栈顶元素,从一个栈删除元素又被称为出栈,
是把栈顶元素删除掉,使相邻的元素称为新的栈顶元素
5、Object类位于java.lang包中,是所有java类的祖先,java中的每个类都由它扩展而来
定义java类时如果没有显示指明父类,那么就默认继承Object
在java中,只有基本类型不是对象,例如数值、字符和布尔型的值都不是对象,所有数组类型,不管
是对象数组还是基本类型数组都是继承Object类
① equals()方法 是用来检测一个对象是否等价与另外一个对象 语法为:
public boolean equals(Object obj)
② hashCode()方法 散列码(hashCpde)是按照一定的算法由对象得到的一个数值,散列码
没有规律 主要用来在集合中实现快速查找等操作,也可以用于对象的比较
③ toString()方法 是Object类中定义的另一个重要方法,是对象的字符串表现形式
语法为: public String toString()
6、树是一种抽象数据类型或是这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合
它是由n(n>0)个有限节点组成一个具有层次关系的集合,把它叫做”树“
因为它看起来像是一颗倒挂的树, 树根朝上,树叶朝下
7、 栈 又称堆栈 是一种运算受限的线性表,其限制是仅允许在表的一段进行插入和删除运算
对栈进行运算的一端称为栈顶,另一端被称为栈底,向一个栈插入新元素
8、链表:链表的确是一种数据结构,而数据结构就是一种存放数据的方式
链表就是和铁链相似的,一个接着一个,一个扣着一个
比如 1,2,3 是连续的,1,2,3,就是这个链表的节点,就是数据存放的地方
9、泛型 : 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,类似于方法中的
变量参数,就像定义成形参,在使用/调用的时候转成实参
10、多线程:一个线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每天线程
并行执行不同的任务
一个进程包括由操作系统分配的内存空间,包含一个或多个线程,一个线程不能独立存在,必须是
进程的一部分,多线程能满足程序编写高效率的程序来达到充分利用CPU的目的