首页 > 编程语言 >java 实现对象排序,实现java对象排序的三种方式

java 实现对象排序,实现java对象排序的三种方式

时间:2023-05-20 21:32:39浏览次数:50  
标签:sort compare java 对象 实现 排序 o1

1.自然排序:

要排序的对象类实现Comparable<>接口,重写其compareTo()方法,方法体中实现对象的比较大小规则

2.自定义排序,

需编写匿名内部类,先new一个Comparator接口的比较器对象c,同时实现compare()其方法;

然后将比较器对象c传给Collections.sort()方法的参数列表中,实现排序功能,里面的map可以是任何对象

Collections.sort(list, new Comparator>() {

public int compare(Map o1, Map o2) {

return o1.get("in_num")-o1.get("in_num");

}

});

3.用jdk8的新特性sort排序

list.sort((a,b)->a.getInNum().compareTo(b.getInNum()))

一般建议用2,3种

标签:sort,compare,java,对象,实现,排序,o1
From: https://blog.51cto.com/u_16111399/6317969

相关文章

  • Java中的并发编程:线程池的使用与优化
    在Java编程中,处理并发任务是一项常见而重要的任务。合理地管理线程可以提高程序的性能和响应性。本文将介绍Java中线程池的使用和优化技巧,帮助开发者更好地处理并发编程的挑战。1.线程池的基本概念线程池是一种用于管理线程的技术,它通过预先创建一组线程,并将任务分配给这些线程来......
  • Dockfile练习一:给ubuntu1804设置Java环境
    [root@mondoopt]#catDockerfile#BaseimageFROMubuntu:18.04#MAINTAINERMAINTAINERzhangjq<[email protected]># 将宿主机的软件包,复制到容器里的/usr/local/src目录下面去ADDjdk-8u321-linux-x64.tar.gz/usr/local/src/# 将上面的容器软件包进行解压,解压到jdk1.8.......
  • Java生成二维码及条形码工具
    一:前言二维码是一种可以存储信息的矩形图案,它可以在移动设备上进行扫描和读取信息。Java语言中有许多库可以用于生成和解码二维码,其中com.google.zxing是一种常用的库。com.google.zxing是一个开源的Java库,它可以用于生成和解码各种类型的二维码和条形码。这个库的优点是易......
  • Redis笔记(四):Java集成和配置
    JedisJedis是Redis官方提供的Java客户端,用于在Java应用程序中连接、操作Redis,它提供了与Redis通信的API,简化了Java开发者与Redis的交互流程。JedisGithubReadme:https://github.com/redis/jedis#getting-startedSpringBoot在SpringBoot2.x之后,原来使用的jedis被替换成了lettc......
  • java中JDK和JRE有什么区别?
    JavaDevelopmentKit(JDK)和JavaRuntimeEnvironment(JRE)是两个不同的Java发行版。JDK是Java开发者所必需的软件开发工具包,包含了Java编译器、Java虚拟机(JVM)、Java运行时环境(JRE)以及各种Java开发工具,它可以用来开发和编译Java应用程序。除了JRE所包含的内容外,JDK还包含开......
  • 面向对象的使用
    类的定义与使用(类也可以看做成一个容器)类在定义的时候定义阶段就会执行类体的代码,属于类的局部名称空间外界无法直接调用。类名加括号就会产生对象,并且每执行一次都会产生一个全新的对象(内存地址都不一样)。数据和功能也可以叫属性,数据就是属性名、功能就是方法对象.__dict__查......
  • 学习Javaweb中遇到的数据回显显示问题
    问题描述:当点击修改按钮时,显示的内容如下:解决方案:加上isELIgnored="false"<%@pagecontentType="text/html;charset=UTF-8"language="java"isELIgnored="false"%>最终结果显示:......
  • java引用类型传值
    引用类型参数的传递,调用方的变量,和接收方的参数变量,地址指向的是同一个对象。双方任意一方对这个对象的修改,都会影响对方myself:这样也不用像php加&,说变就跟着变,会不会很麻烦,出现一些隐匿的bugpublicclassImoocStudent{publicvoidreplaceFirstPlayer(String......
  • java 递归拼接树形结构代码
    1、json数据(目标)[{label:'一级1',children:[{label:'二级1-1',children:[{label:'三级1-1-1'}]}]},{label:'一级2'......
  • DC NXT 库和设计对象介绍
    physicalsynthesis 物理综合概念三种启动方式dcnxt_shell-topographical_mode  #交互式命令行dcnxt_shell-topo-gui                     #图形界面dcnxt_shell-topo-f RUN.tcl|tee-iRUN.log       #批处理模式物理综合就是......