java示例哈希判断字符串是否相等
时间: 2023-10-18 13:23:40 浏览: 90
判断输入的两个字符串是否相等
5星 · 资源好评率100%
下面是一个Java示例,用于判断两个字符串是否相等,使用哈希表实现:
```java
public boolean isStringEqual(String str1, String str2) {
if (str1 == null && str2 == null) {
return true;
}
if (str1 == null || str2 == null) {
return false;
}
if (str1.length() != str2.length()) {
return false;
}
Map<Character, Integer> hash = new HashMap<>();
for (int i = 0; i < str1.length(); i++) {
char c = str1.charAt(i);
hash.put(c, hash.getOrDefault(c, 0) + 1);
}
for (int i = 0; i < str2.length(); i++) {
char c = str2.charAt(i);
if (!hash.containsKey(c) || hash.get(c) == 0) {
return false;
}
hash.put(c, hash.get(c) - 1);
}
return true;
}
```
该方法首先检查两个字符串是否都为null,如果是,返回true。如果只有一个为null,则返回false。然后检查两个字符串是否具有相同的长度,如果不是,则返回false。
接下来,使用哈希表来记录第一个字符串中每个字符的出现次数。然后,遍历第二个字符串,检查每个字符是否在哈希表中出现,并且出现次数是否大于0。如果出现或者出现次数不大于0,则返回false。否则,将哈希表中对应字符的出现次数减1。最后,如果所有字符都检查过并且出现次数也相同,则返回true。
阅读全文