1.Main类 package s0223容器分拣存储; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { String str = "this is a cat and that is a dog"; String[] arry = str.split(" "); Map letters = new HashMap(); // 未优化代码 // for (String temp : arry) { // if (!letters.containsKey(temp))// HashMap.containsKey() 判断map中是否有这个键 // { // letters.put(temp, new Letter()); // // } else { // Letter col = letters.get(temp);// 根据key,返回value // col.setCount(col.getCount() + 1); // } // } //优化代码*********************************************************************************** Letter col=null; for (String temp : arry) { if (null==(col=letters.get(temp)))// HashMap.containsKey() 判断map中是否有这个键 { letters.put(temp, new Letter()); } else { col.setCount(col.getCount() + 1); } } //优化代码*********************************************************************************** letters.keySet().forEach( (element) -> System.out.println("字母" + element + " 次数:"+ letters.get(element).getCount()) ); } } 2.Letter类 package s0223容器分拣存储; public class Letter { private String name; private int count; public Letter() {} public Letter(String name, int count) { this.name = name; this.count = count; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } }