数组就是一张哈希表
哈希表用于解决什么问题?
一般哈希表都是用来快速判断一个元素是否出现集合里。
哈希函数
映射为哈希表上的索引,然后可以通过查询索引下标快速知道
哈希碰撞
就是映射下标相同
解决方法:
- 拉链法
- 线性探测法:一定要保证tableSize大于dataSize
Set,Map,List的区别
toCharArray()
将字符串对象中的字符转换为一个字符数组。
charAt()
有些题可以从这些方面考虑:第一个的加一,第二个如有和第一个一样的就减一,看结果是否等于0
- 数组的大小是受限的,使用数组做哈希表
- 没有限制数值的大小,使用set做哈希表
- 数组的大小是受限制的,set是一个集合,里面放的元素只能是一个key,需要两个元素的时候,map作为哈希表
StringBuilder
比直接字符串相加效率高
本文探讨了哈希表和数组在数据结构中的角色。哈希表主要用于快速查找,通过哈希函数将元素映射到索引,解决元素存在性问题。面对哈希碰撞,文章提到了拉链法和线性探测法两种解决方案。同时,对比了数组和哈希表的特性,指出数组大小有限制,适合用作简单的哈希表实现,而Set和Map则提供无大小限制的集合功能。此外,还讨论了StringBuilder在字符串操作中比直接相加更高效的优势。
325

被折叠的 条评论
为什么被折叠?



