zoukankan      html  css  js  c++  java
  • [Java]对字符串中的每一个单词个数进行统计

    这是来自一道电面的题。

    单词统计非常easy想到用Map来统计,于是想到了用HashMap。

    可是我却没有想到用split来切割单词,想着用遍历字符的方式来推断空格。人家面试官就说了,假设单词之间不止一个空格呢?事实上遍历的方法也是能够的,可是处理起来可能比較麻烦一点。也没有什么错,毕竟我没实用到辅助空间。

    既然有简单的方式。就用split来解吧。单词之间可能会包括多个空格。用split的也会导致有空格的情况。正常解法就将保存单词的数组再遍历一下。用来去掉数组中的空格。

    这里面我们能够用一个正則表達式。

    Map<String, int[]> sumWords(String str) {
    		if (str == null)
    			return null;
    		str = str.trim();
    		int len = str.length();
    		if (len == 0)
    			return null;
    		Map<String, int[]> map = new HashMap<String, int[]>();//用int[]取代了integer。避免了Integer在使用过程中的自己主动装箱和拆箱,提高了效率
    		String[] words = str.split("\s+");
    		for (int i = 0; i < words.length; i++) {
    			int[] counts = new int[1];
    			if (!map.containsKey(words[i])) {
    				counts[0] = 1;
    				map.put(words[i], counts);
    			} else {
    				counts[0]=map.get(words[i])[0]+1;
    				map.put(words[i], counts);
    			}
    		}
    		return map;
    	}



  • 相关阅读:
    Html禁止粘贴 复制 剪切
    表单标签
    自构BeanHandler(用BeansUtils)
    spring配置中引入properties
    How Subcontracting Cockpit ME2ON creates SD delivery?
    cascadia code一款很好看的微软字体
    How condition value calculated in sap
    Code in SAP query
    SO Pricing not updated for partial billing items
    Javascript learning
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7097332.html
Copyright © 2011-2022 走看看