java中map统计次数

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用JavaHashMap来实现统计Java程序关键词的出现次数。具体实现步骤如下: 1. 定义一个HashMap<String, Integer>类型的变量来存储关键词和它们出现的次数,其String表示关键词,Integer表示出现的次数。 2. 使用Java的Scanner类读取文件或者用户输入的文本内容。 3. 使用Java的split()方法将文本内容按照空格、逗号、分号等符号进行分割,得到一个String数组。 4. 遍历该数组,对于每个关键词,如果该关键词已经存在于HashMap,则将该关键词对应的出现次数加1;否则将该关键词添加到HashMap,并将出现次数设为1。 5. 遍历完所有的关键词后,HashMap存储的就是所有关键词及其出现次数统计结果了。可以将其输出或者进行其他处理。 下面是一个简单的示例代码: ```java import java.util.*; public class KeywordCounter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String text = scanner.nextLine(); scanner.close(); String[] words = text.split("\\W+"); Map<String, Integer> counts = new HashMap<>(); for (String word : words) { if (counts.containsKey(word)) { counts.put(word, counts.get(word) + 1); } else { counts.put(word, 1); } } for (String word : counts.keySet()) { System.out.println(word + ": " + counts.get(word)); } } } ``` 该程序会读取用户输入的文本内容,统计所有关键词的出现次数,并输出结果。注意,该程序只能统计Java程序的关键词,不能用于其他语言或者通用文本的关键词统计
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值