今天在学习算法的时候发现了一个java的奇淫技巧的函数。

背景:

给你一个字符串,找到它第一个不重复的字符,返回字符索引。

目的:

使用HashMap getOrDefault(key, defaultValue)函数,来找到第一个不重复的字符。

过程:

我给大家解释一下使用这个函数的解这个题的基本思路哈。

就是定义一个hashmap函数map,key是字符,value是map.getOrDefault(字符,0)+1。

为啥子要+1呢。

函数的解释:getOrDefault() 方法获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值。

也就是这个字符如果不在这个新建的map中,那么就k=>1,如果在这个map中,那么就是k=>value+1;

这样的话,咱们再次循环字符串,只要查询字符在map中的value是否==1就可以了。如果等于1,那么就是第一个不重复的字符。

结果:

HashMap getOrDefault(key, defaultValue)_默认值