题目:
给一非空的单词列表,返回前 k 个出现次数最多的单词。
返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。
思路:
运用HashMap key 存字符 , value 存次数
Collections 进行排序
最后截取0 , k 范围的数据,即可返回
(一) 代码 Hash表+排序
(二) 代码 使用优先队列
优先队列: 在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。
add : 将指定的元素插入此优先级队列。
clear : 清空
contains : 如果包含元素返回true
iterator : 返回在此队列中的元素上进行迭代的迭代器
offer : 将指定元素插入此优先队列
peek : 获取第一个元素,及最小或最大元素
poll : 获取并移除第一个
remove : 移除指定元素
size : 返回元素个数
你觉得值就值