hashmap原理

java面试宝典

老子叫甜甜 提交于 2019-11-30 14:44:45
1、 meta标签的作用是什么 2、 ReenTrantLock可重入锁(和synchronized的区别)总结 3、 Spring中的自动装配有哪些限制? 4、 什么是可变参数? 5、 什么是领域模型(domain model)?贫血模型(anaemic domain model)和充血模型(rich domain model)有什么区别? 6、 说说http,https协议 7、 "= ="和equals方法究竟有什么区别? 8、 &和&&的区别? 9、 .super.getClass()方法调用? 10、 10条SQL优化技巧 11、 10道经典java面试题_实习生必问! 12、 15个Java线程并发面试题和答案 13、 15个高级Java多线程面试题及回答 14、 2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据 15、 2018年java分布式相关最新面试题 16、 2018最新java技术面试题与答案 17、 23种经典设计模式都有哪些,如何分类? 18、 4个Spring常见面试题及答案解析 19、 58到家MySQL数据库开发规范 20、 9条改善Java性能的小建议 21、 9道常见的java笔试选择题 22、 abstract class和interface有什么区别 23、 ActiveMQ是什么 24、

Java集合面试题

落花浮王杯 提交于 2019-11-27 20:46:02
List · List 和 Set 区别 · Set和hashCode以及equals方法的联系 · List 和 Map 区别 · Arraylist 与 LinkedList 区别 · ArrayList 与 Vector 区别 · Arraylist与LinkedList默认空间是多少; · Arraylist与LinkedList区别与各自的优势List 和 Map 区别; Java Collections和Arrays的sort方法默认的排序方法是什么; ArrayList和LinkList的删除一个元素的时间复杂度;(ArrayList是O(N),LinkList是O(1)); · CopyOnWriteArrayList是什么; Set · HashMap 和 Hashtable 的区别 · HashSet 和 HashMap 区别 · HashMap 和 ConcurrentHashMap 的区别 · HashMap 的工作原理及代码实现,什么时候用到红黑树 · 多线程情况下HashMap死循环的问题 · HashMap出现Hash DOS攻击的问题 · ConcurrentHashMap 的工作原理及代码实现,如何统计所有的元素个数 · 手写简单的HashMap · 看过那些Java集合类的源码 Map · 谈谈HashMap,哈希表解决hash冲突的方法; ·

Java 集合

白昼怎懂夜的黑 提交于 2019-11-27 12:50:29
目录 Java 集合 1. Collection集合(单列集合) 集合概述 集合的架构 Collection常用的方法 Iterator 2. 增强for(for each) 3. 泛型(Generic) 泛型概念 使用泛型的好处 定义含有泛型的类 定义含有泛型的方法 定义含有泛型的接口 泛型的通配符 通配符的高级使用—泛型受限 4. 综合案例:斗地主(单列集合) 5. List集合 List接口的特点: List接口中带索引的方法(特有): 6. List的实现类 1. ArrayList集合 2. LinkList集合 3. Vector集合 7. Set集合 哈希值 HashSet存储数据的结构(哈希表) Set集合存储不重复元素的原理 HashSet存储自定义类型的元素 LinkedHashSet集合 可变参数 8. Collections工具类 9. Map集合(双列集合) 概述 Map常用子类 Map接口中的常用方法 HashMap存储自定义类型键值 LinkedHashMap集合 Hashtable集合 练习 JDK9对集合添加的优化 10. 综合案例:斗地主(双列集合) Java 集合 1. Collection集合(单列集合) 集合概述 集合:集合是Java提供的一种容器,可以用来存储多个数据。 数组的长度是固定的,而集合的长度是可变的。

敏感词过滤的算法原理之DFA算法

一笑奈何 提交于 2019-11-27 06:25:37
敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程序拿过来一看,整个过程如下:读取敏感词库、如果HashSet集合中,获取页面上传文字,然后进行匹配。我就想这个过程肯定是非常慢的。对于他这个没有接触的人来说我想也只能想到这个,更高级点就是正则表达式。但是非常遗憾,这两种方法都是不可行的。当然,在我意识里没有我也没有认知到那个算法可以解决问题,但是Google知道! DFA简介 在实现文字过滤的算法中,DFA是唯一比较好的实现算法。DFA即Deterministic Finite Automaton,也就是确定有穷自动机,它是是通过event和当前的state得到下一个state,即event+state=nextstate。下图展示了其状态的转换 在这幅图中大写字母(S、U、V、Q)都是状态,小写字母a、b为动作。通过上图我们可以看到如下关系 a b b S -----> U S -----> V U -----> V 在实现敏感词过滤的算法中,我们必须要减少运算,而DFA在DFA算法中几乎没有什么计算,有的只是状态的转换。 参考文献: http://www.iteye.com/topic/336577 Java实现DFA算法实现敏感词过滤

【Java 学习笔记】Map

為{幸葍}努か 提交于 2019-11-27 03:33:51
【Map】 主要内容 Map集合 第一章 Map集合 1.1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接口。 我们通过查看 Map 接口描述,发现 Map 接口下的集合与 Collection 接口下的集合,它们存储数据的形式不同,如下图。 Collection 中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map 中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。 Collection 中的集合称为 单列集合 , Map 中的集合称为 双列集合 。 需要注意的是, Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。 Map集合的特点: Map集合是一个双列集合,一个元素包含两个值(一个key,一个value) Map集合中的元素,key和value的数据类型可以相同,也可以不同 Map集合中的元素,key是不允许重复的,value是可以重复的 Map集合中的元素,key和value是一一对应 1.2 Map常用子类 通过查看Map接口描述,看到Map有多个子类