哈希表的两种常用便利方法
通过keySet
Map<Integer, Integer> map = new HashMap<>();
for (Integer key : map.keySet()) {
System.out.println(map.get(key));
}
通过entrySet(常用方法)
Map<Integer, Integer> map = new HashMap<>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
习题
通过一道简单题练习遍历哈希表取值: LeetCode 2404题
习题题解代码
class Solution {
public int mostFrequentEven(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
for (int num : nums){
if(num % 2 == 0){ // nums数组中所有偶数记入哈希表中
map.put(num, map.getOrDefault(num, 0) + 1);
}
}
int res = -1, count = 0;
for (Map.Entry<Integer, Integer> entry : map.entrySet()){
if(entry.getValue() > count || (entry.getValue() == count && entry.getKey() < res)){
count = entry.getValue();
res = entry.getKey();
}
}
return res;
}
}