使用Map实现对英文词组的计数

本文介绍了一种使用Java编程语言统计字符串中单词出现频率的方法。通过将输入的字符串按逗号和空格分割成单词数组,然后利用HashMap存储每个单词及其出现次数,最后遍历Map打印出所有单词及相应的频率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.map;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Maps {	
	
		public static void main(String[] args) {
			String text = "Some are born great,some achieve greatness,and some have greatness thrust upon them";
		    //使用逗号或者空格分割字符串(两个分隔符用|隔开)
			String[] textArray = text.split(",| ");
		    System.out.println(Arrays.toString(textArray));
		    //使用map存储,key为单词,value为出现的次数
		    Map<String, Integer> textMap = new HashMap<String, Integer>();
		    //遍历数组
		    for(int i = 0; i < textArray.length; i++) {
		    	//取出数组中的每个单词
		    	String key = textArray[i].toLowerCase();
		    	//判断Map中该单词对应的value值是否为null,为null表示还没有向map中加入该单词
		    	if(null == textMap.get(key)) {
		    		//把第一次把单词放入map中,所以次数设置为1
		    		textMap.put(key, 1);
		    	}else {
		    		//当多次出现该单词时,修改它对应的value加1
		    		Integer count = textMap.get(key);
		    		textMap.put(key, count + 1);
		    	}
		    }
		    
		    //遍历Map打印出所有出现的单词和出现的次数
		    Iterator<Map.Entry<String, Integer>> iterator = textMap.entrySet().iterator();
		    while (iterator.hasNext()) {
				Map.Entry<String, Integer> item = iterator.next();
				System.out.println(item.getKey() + "出现了"
				        + item.getValue() + "次");
			}
		    
		}

		
		
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值