思路:
1.使用字符流读取文件,数组长度设置为1,使得一次只读入一个字符,并写入目标文件;
2.创建一个Map,在写文件的同时,对每一个读取到的字符与Map的get(Key)做比较判断————
①如果Map中不存在以该字符为键的键值对,则写入一个以该字符为键,值为1的键值对;
②如果Map中已存在以该字符为键的键值对,则读取该键对应的值,并将读取到的值+1后覆盖回去。
3.读写循环结束后,copy部分操作完成,且得到了一个保存了文本中所有出现的字符及对应出现次数的Map;
4.利用SortedMap对得到的Map进行简单的以键排序;
5.利用迭代器将键重排后的Map输出打印,并使用条件过滤掉几个转义字符和空格。
总结:
1.字符字节读写这一块看过视频就练过一两次,还非常不熟练,大部分代码是对照着笔记才敲出来的,需要继续加强练习;
2.对集合框架的理解还远远不够,导致一开始的思路非常不成熟————
①将每一个读取到的字符分别存入一个set和一个list;
②由于set中数据不重复,所以再次读取set中的所有字符,并为每一个字符创建一个计数;
③用每一个字符对list循环一次,得到字符出现次数的计数……
以上思路的不成熟,代码根本写不下去,是看了其他同学前辈的思路才想起来原来用Map把字符当键次数当值就好了啊……
3.第一次认真对待int和Integer的关系,对相关的知识有了一点新的认识;
4.强迫症发作,想要输出次数的时候字符排列更有顺序一点,实现方法完全是网上查来的,还需要后续再学习了解。 |
|