leetcode哈希表java

数组就是一张哈希表

哈希表用于解决什么问题?

一般哈希表都是用来快速判断一个元素是否出现集合里。

哈希函数

映射为哈希表上的索引,然后可以通过查询索引下标快速知道

哈希碰撞

就是映射下标相同

解决方法:

  • 拉链法
  • 线性探测法:一定要保证tableSize大于dataSize

Set,Map,List的区别

toCharArray()

将字符串对象中的字符转换为一个字符数组。

charAt()

有些题可以从这些方面考虑:第一个的加一,第二个如有和第一个一样的就减一,看结果是否等于0

  • 数组的大小是受限的,使用数组做哈希表
  • 没有限制数值的大小,使用set做哈希表
  • 数组的大小是受限制的,set是一个集合,里面放的元素只能是一个key,需要两个元素的时候,map作为哈希表

StringBuilder

比直接字符串相加效率高

你可能感兴趣的:(散列表,java,leetcode,哈希表,intellij-idea)