1.案例:统计数组中出现数字的次数
上代码:
package com.ffyc.algorithm;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class stringcount {
//map统计字符串出现的次数 的案例
public void removeElement(int[] nums) {
Map<Integer,Integer> map =new HashMap<>();
for (int i=0;i<nums.length;i++){
//一个个加进来put 如果map里有这个key了 次数+1 (key=数字,value=数字出现的次数)
map.put(nums[i],map.getOrDefault(nums[i],0)+1);
//map里面存在就put进来 次数为+1 map里面不存在就put进来 次数为0
}
//遍历输出map
for (Integer key: map.keySet()){
Integer value=map.get(key);
System.out.println("数字:"+key+"出现次数为:"+value);
}
}
public static void main(String[] args) {
int[] nums= {0,1,2,2,3,3,0,4,2};
stringcount stringcount=new stringcount();
stringcount.removeElement(nums);
}
}
2.运行结果:
3.分析:
map.put(nums[i],map.getOrDefault(nums[i],0)+1)
一次次put进去
如果map中没有这个数字(key) 那次数(value)就是0, 如果map中有这个数字(key) 就在这个数字对应的次数(value)的原值上+1