在编码中 经常用到对对象数组或者map等集合的排序
下面就让我们来学习一下Collections.sort()的使用
- 场景力扣692题前K个高频单词
public Listass(String[] words, int k){ //分析题意 将单词出现的频率进行从高到低的排序 //基本操作放进map里面 同时将之前没有出现过的单词放进list里面 List list = new ArrayList<>(); HashMap map = new HashMap<>(); for(int i =0;i 之后编辑器会提醒重写一个方法 Collections.sort(list,new Comparator () { // 重写这个compare 方法 返回值为int类型 @Override public int compare(String o1, String o2) { //这里的o1 o2 就是两个单词 从list数组里面取出的单词 //可以根据你的需要来返回一个int类型的值 如果这个值大于0则更换位置 小于0则不变换位置(先这么理解 本人不专业) //依据题意在两个单词出现次数相同的时 按字母顺序排序 return map.get(o1)==map.get(o2)? o1.compareTo(o2) : map.get(o1)-map.get(o2); } }); //最后输出数组 return list.subList(0, k); }
- 所以在使用的过程中通过灵活变化是可以根据所需要的将数组中的对象等进行排序的



