自定义排序,Collections.sort()
介绍Collections.sort()

class Solution {public int[] relativeSortArray(int[] arr1, int[] arr2) {//进行一个自定义排序Map<Integer, Integer> map = new HashMap<>();List<Integer> list = new ArrayList<>();for(int num : arr1) list.add(num);for(int i = 0; i < arr2.length; i++) map.put(arr2[i], i);Collections.sort(list, (x, y) -> {if(map.containsKey(x) || map.containsKey(y)) return map.getOrDefault(x, 1001) - map.getOrDefault(y, 1001);//根据value进行升序 value决定的就是数字再arr2中的排序,定义了顺序//Map.getOrDefault(key,默认值);/*Map中会存储一一对应的key和value。
如果 在Map中存在key,则返回key所对应的的value。
如果 在Map中不存在key,则返回默认值。*/return x - y;  //不存在的按照升序排列});for(int i = 0; i < arr1.length; i++) arr1[i] = list.get(i);return arr1;}
}

leetcode【排序】这个自定义排序的比较器感觉不好直接想出来,需要多练欸相关推荐

  1. R语言dplyr包arrage函数排序dataframe实战:单列排序、多列排序、自定义排序

    R语言dplyr包arrage函数排序dataframe实战:单列排序.多列排序.自定义排序 目录 R语言dplyr包arrage函数排序dataframe实战:单列排序.多列排序

  2. db2 某个字段排序_MySQL、Oracle、DB2等数据库常规排序、自定义排序和按中文拼音字母排序...

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3中比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...

  3. mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序.下面给出3种比较常用的排序方式,一起看看吧 MySQL常规排序.自定义排序和按中文拼音字母排 ...

  4. mysql 拼音排序_MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3种比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...

  5. oracle 按照字母排序,MySQL、Oracle、DB2等数据库常规排序、自定义排序和按中文拼音字母排序...

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3中比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...

  6. mysql按中文拼音字母排序_MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...

    MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3种比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...

  7. java 自定义对象 排序,使用自定义排序顺序对对象的ArrayList进行排序

    问题 我希望为我的地址簿应用程序实现一个排序功能. 我想排序anArrayList contactArray.Contact是一个包含四个字段的类:名称,家庭电话号码,手机号码和地址.我想排序name ...

  8. Lucene排序以及自定义排序

    现在开发搜索系统,使用的是开源界比较推崇的Lucene,版本是Maven库上面的3.5,这个版本里面有很多方法都不建议使用了.所以代码创建的方式 有那么点变化,我使用的分词器是IkAnalyzer.L ...

  9. python 列表自定义排序_自定义排序的Python列表

    我有一个dicts列表: ldicts = [{'name': '120-150'}, {'name': '90-120'}, {'name': '150-180'}, {'name': '>= ...

最新文章

  1. IO流 带行号的缓冲区
  2. 《Swift 权威指南》——第6章,第6.7节常量和变量参数
  3. BZOJ 1009: [HNOI2008]GT考试(kmp+dp+矩阵优化)
  4. 详解CoordinatorLayout
  5. 【PC工具】速度最快最好用的文件搜索工具:everything,更新文件内容搜索方法...
  6. 【译】Byzantine Fault Tolerance in Proof-of-stake protocols
  7. boost::function_types::result_type用法的测试程序
  8. ubuntu 两块硬盘挂载不上_win10 轉 Ubuntu
  9. 计算机组成原理第八章课后答案6,计算机组成原理 第八章 复习
  10. 【kafka】kafka 指定分区消费 不会触发 reblance
  11. 上传相关js和jquery对象
  12. 如何快速将文件中的空格更换成逗号(图文详解)
  13. android 高德地图设置不能旋转_如何将平面控制点导入Google Earth、奥维互动地图及手机奥维互动地图APP里面?...
  14. 任务接单平台源码自动挂机阅读文章挣钱系统
  15. 如何使用远程控制软件并将用途最大化?4款国内外优质应用测评解析
  16. [转载]在安装win7系统时如何不产生100M的系统保留分区
  17. 开发者必备的网站。javascript手册,css手册
  18. RC / RL串联电路计算
  19. 开发一款系统软件大概需要多少钱呢
  20. uni-app支付宝小程序map地图组件基础操作+画多边形+打点连线

热门文章

  1. 强大的pdf压缩工具——Smallpdf
  2. 《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——3.2 ZigBee...
  3. [ZOJ 3054] Whirlwind [模拟]
  4. Java程序设计教程(第3版)雍俊海 全书例程-2
  5. 实时3D图形技术的进化历史2
  6. WebSphere中com/env的资源影射设置
  7. C#项目中所有的窗体排版都乱了
  8. keras基于CNN和序列标注的对联机器人
  9. 微信小程序驾校教培服务系统+后台管理系统|前后分离VUE
  10. 如果你是个半路出家的程序员,请一字一句的看完