Java 分拣 找出 一组字符串里每个单词出现的次数

package test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class testa {
	public static void main(String[] args) {
		String str =  "li shang ai zhen nan li shang shuai li";
		String[] arr = str.split(" ");
		for(int j = 0;j<arr.length; j++) {
			System.out.print(arr[j] + "---");
		}
		System.out.println();
		
		Map<String,count> map = new HashMap<>();
		for(String temp:  arr) {
			count c = null;
			if (null==(c = map.get(temp))) {
				c = new count();
				c.setCount(1);
				map.put(temp, c);
			}else {
				c.setCount(c.getCount()+1);
			}
		}
		
		Set<String> keys = map.keySet();
		for(String key : keys) {
			count cc = map.get(key);
			System.out.println(key +"--" +cc.getCount());
		}
	}
}


class count {
	Integer count = 1;

	public Integer getCount() {
		return count;
	}

	public void setCount(Integer count) {
		this.count = count;
	}
}



思路:先将字符串拆分,放到数组里边,然后使用map 存储,利用key 唯一的属性,在 value 存放一个对象 用来计数,如果存储时,根据 key 得到的 对象为空,就创建,然后附初始值1;然后揭下来每次遍历,只要可以通过get(key)方法取得对象,就说明,该单词又出现一次,然后给value对象的 count +1;
最后就是想要的结果

猜你喜欢

转载自blog.csdn.net/qq_42157992/article/details/103185721