List<Entry<Character, Integer>> list = new ArrayList<Map.Entry<Character,Integer>>( map.entrySet());
这句话你的一层一层分析,首先,拿出最外层的东西
List list = new ArrayList(map.entrySet());
map.entrySet返回一个包含map集合中键值关系的set集合,
这句话定义一个List集合,该集合存放的是就是该set集合,也就是字符和它出现的次数。
然后给List集合加上泛型, 为Map.Entry类型(键值对)的,Map.Entry中又有泛型,要求键为Character类型,值为Integer类型。
Entry是一个HashMap类的内部静态类。实现了Map.Entry接口,这里用Map.Entry就行了,没必要用Entry。
Set<Character> chs = new HashSet<Character>();定义一个HashSet集合,存放数据类型Character。这个集合中存放你要忽略计数的字符,像换行,空格等。在遍历字符时要判断该字符是否被这个集合包含,也是说是不是这个集合中有的,假如有,就忽略不计。