散列表|leetcode哈希表java

数组就是一张哈希表
哈希表用于解决什么问题? 一般哈希表都是用来快速判断一个元素是否出现集合里。
哈希函数 映射为哈希表上的索引,然后可以通过查询索引下标快速知道
哈希碰撞 【散列表|leetcode哈希表java】就是映射下标相同
解决方法:

  • 拉链法
  • 线性探测法:一定要保证tableSize大于dataSize
Set,Map,List的区别 toCharArray() 将字符串对象中的字符转换为一个字符数组。
charAt() 有些题可以从这些方面考虑:第一个的加一,第二个如有和第一个一样的就减一,看结果是否等于0
  • 数组的大小是受限的,使用数组做哈希表
  • 没有限制数值的大小,使用set做哈希表
  • 数组的大小是受限制的,set是一个集合,里面放的元素只能是一个key,需要两个元素的时候,map作为哈希表
StringBuilder 比直接字符串相加效率高

    推荐阅读