package com.heima; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; public class Test11 { /** * (1)统计每个单词出现的次数 (2)有如下字符串"If you want to change your fate I think you must come to the dark horse to learn java"(用空格间隔) (3)打印格式: to=3 think=1 you=2 分析: 1,通过切割字符串得到字符串数组 2.创建双列结合存储字符串 和字符串出现的次数 3.遍历数组判断双列集合的是否包含字符串数组中的每个元素如果不包含将该字符串作为键 ,1作为值存储到集合 如果包含则将该字符串作为键, 该键的值+1作为值 存储到集合 4.遍历双列集合 得到结果 * @param args */ public static void main(String[] args) { //1,通过切割字符串得到字符串数组 String s="If you want to change your fate I think you must come to the dark horse to learn java"; String[] arr = s.split(" "); System.out.println(s); System.out.println(arr.length); //2.创建双列结合存储字符串 和字符串出现的次数 LinkedHashMap<String , Integer> tm = new LinkedHashMap<>(); //3.遍历数组判断双列集合的是否包含字符串数组中的每个元素 for (String string : arr) { if (tm.containsKey(string)) { //如果包含则将该字符串作为键, 该键的值+1作为值 存储到集合 tm.put(string, (tm.get(string))+1); }else {//如果不包含将该字符串作为键 ,1作为值存储到集合 tm.put(string, 1); } } //4.遍历双列集合 得到结果 Set<Map.Entry<String,Integer>> set=tm.entrySet(); for (Entry<String, Integer> entry : set) { System.out.println(entry.getKey()+"出现了"+entry.getValue()+"次"); } } } |