课程中说到实现一个字符串中每个字符出现次数的程序,用TreeMap来实现的。
我们知道TreeMap可以对数据进行排序,我就想是否能够按照出现字母的次数升序或者降序来进行排序,因为我喜欢这样的查看方式= =。
我首先想使用比较器的方式来实现这个方法,
但是继续想下去突然发觉比较器不仅仅是拿来排序的,也是判断Map出现相同元素的方法。
如果用用值来进行排序,那么若干字母出现的次数相等,是不是只会存进最后一个字母。
而且TreeMap只有键有唯一性,这个特性用比较器是不是会比较合适。而且我们也是允许Value使用重复值的。
我的想法是:TreeMap就不应该按照值来进行排序,应该按照Key来进行排序。或者我是错的,希望大家讨论。
再回到上面这道题目上去,那么我们在输出的时候还能用按照字符出现的次数来进行排序嘛?
是再创建一个对象实现comparable接口来持有这个字符跟出现次数,然后再用TreeSet来进行排序输出是不是也是一种方法?或者还有一些更好的方式方法大家能够提供帮助不。
|
|