![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 85
大名人儿
积跬步,以至千里
展开
-
Hash冲突的解决方法
一、前言 哈希函数:在元素的关键字k和元素的存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数 哈希表:有限、连续 hash:译为,使......混乱。(可理解为通过哈希函数打乱数据的存储位置) 便捷性:按关键字直接存取元素 冲突的产生:不同的关键字可能获得相同的hash地址,即 key1≠key2,但是f(key1)=f(key2) ...(key, value) --------将元素value存储到地址为f(key)的单元。 eg.HashMap使用的链地址法处理哈希冲突原创 2021-04-01 17:31:09 · 147 阅读 · 0 评论 -
equals和==的区别
一、 存储结构 栈-------常量池------堆 二、解释 equals:判断值是否相等 ==:判断是否是同一引用 三、举例 String a = new String("abcd"); String b = new String("abcd"); String c = "abcd"; String d = "abcd"; a == b // false(非同一对象,在堆中存储了两个对象) a.equals(b) // true(物理地址不同,值相同)原创 2020-09-15 18:52:36 · 76 阅读 · 0 评论 -
java的stream流方法
一、流程: stream of elements -> filter -> sorted -> map -> collect 二、java格式 List<Integer> transactionsIds = widgets.stream() .filter(b -> b.getColor() == RED) .sorted((x,y) -> x.getWeight() - y.getWeight())原创 2020-09-15 18:47:39 · 230 阅读 · 0 评论 -
Java面向对象基础知识点(一)
堆:存放引用数据类型的实际数据栈:存放引用数据类型数据的地址、存放基本数据类型的数据(因为栈的存取速度快,因此Java将基本数据类型从引用数据类型中分离出来,提高运行速度) 1. 对象模型的四个特点:抽象(将现实世界中的物体抽象出来)、封装(将成员变量和成员方法封装在对象中,数据尽量隐藏,设计公有方法来操作它,对象可以更改自己的数据,而其他对象不能更改它的数据)、继承(子类可使用父类非私有的...原创 2018-07-12 09:09:03 · 342 阅读 · 0 评论 -
Java的多态机制
一、为什么设计多态:模拟现实、代码简洁(让虚拟机完成了很多比较 判断工作)、代码维护扩展的需要 上转型【People people=new Student();】:具有父类或接口类型,但指向子类或具体类的对象,调用具体子类的方法而不调用父类的放法(原因:用于代码扩充,易于维护); Equals方法比较的是对象的引用,而不是具体值; Java中的多态是针对实例方法的,不是针...原创 2018-07-20 17:22:49 · 171 阅读 · 0 评论 -
浅谈装饰者模式
一、核心点 1.运行时扩展 要远比 编译时继承 威力大 2.将父类的功能抽象成接口,子类 extends 父类并 implements 功能接口 3.类应对扩展开放,对修改关闭 4.用装饰过的对象代替原有的对象 5.继承有两个作用:继承行为+类型匹配 6.继承是父类的功能传给子类 7.组合:获得的新行为并非是继承【编译】得来,而是由组合对象得来的【运行时才获得】。 二、概念 ...原创 2019-02-26 17:45:07 · 132 阅读 · 0 评论