iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java Comparator.comparing排序使用示例
  • 723
分享到

java Comparator.comparing排序使用示例

2024-04-02 19:04:59 723人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录背景 实体类 示例一 示例二 背景 以前常用的排序方式是通过实现Comparator接口来进行排序,写法相对来说比较复杂,使用Comparator.comparing可以简化代

背景

以前常用的排序方式是通过实现Comparator接口来进行排序,写法相对来说比较复杂,使用Comparator.comparing可以简化代码,看起来逻辑更清晰。

实体类


import lombok.Data;


@Data
public class Model {
    private String name;
    private int age;
}

示例一

通过实现Comparator接口来进行排序,代码相对较复杂


Collections.sort(models, new Comparator<String>() {
    @Override
    public int compare(String o1, String o2) {
        return o1.compareTo(o2);
    }
});

示例二

使用Comparator.comparing实现排序,同样可以指定按照哪个属性排序,且可以实现倒序。


package com.kaesar.java_common;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;


public class ComparatorTest {
    public static void main(String[] args) {
        List<Model> models = new ArrayList<>();
        Model model1 = new Model();
        model1.setAge(300);
        model1.setName("a");
        models.add(model1);

        Model model2 = new Model();
        model2.setAge(500);
        model2.setName("c");
        models.add(model2);

        Model model3 = new Model();
        model3.setAge(100);
        model3.setName("b");
        models.add(model3);

        System.out.println("-----排序前-----");
        // 排序前
        for (Model contract : models) {
            System.out.println(contract.getName() + " " + contract.getAge());
        }

        System.out.println("-----排序后,根据age排序-----");
        Collections.sort(models, Comparator.comparing(Model::getAge));
        // 排序后
        for (Model model : models) {
            System.out.println(model.getName() + " " + model.getAge());
        }

        System.out.println("-----排序后,根据age排倒序-----");
        Collections.sort(models, Comparator.comparing(Model::getAge).reversed());
        // 排序后
        for (Model model : models) {
            System.out.println(model.getName() + " " + model.getAge());
        }

        System.out.println("-----排序后,根据name排序-----");
        Collections.sort(models, Comparator.comparing(Model::getName));
        // 排序后
        for (Model model : models) {
            System.out.println(model.getName() + " " + model.getAge());
        }
    }
}

 

到此这篇关于java Comparator.comparing排序使用示例的文章就介绍到这了,更多相关java Comparator.comparing排序 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: java Comparator.comparing排序使用示例

本文链接: https://www.lsjlt.com/news/154884.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java Comparator.comparing排序使用示例
    目录背景 实体类 示例一 示例二 背景 以前常用的排序方式是通过实现Comparator接口来进行排序,写法相对来说比较复杂,使用Comparator.comparing可以简化代...
    99+
    2022-11-12
  • Java快速排序与归并排序及基数排序图解示例
    目录一、快速排序1、基本介绍2、代码实现二、归并排序1、基本介绍2、代码实现三、基数排序1、基本介绍2、代码实现一、快速排序 1、基本介绍 以上面的数组为例分析快速排序。 首先要...
    99+
    2022-11-13
  • java排序算法的示例分析
    这篇文章将为大家详细讲解有关java排序算法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、直接插入排序基本思想:将一个记录插入到已排序的有序表中,使插入后的表仍然有序对初始关键字{49 38...
    99+
    2023-06-20
  • Java实现快速排序和堆排序的示例代码
    目录快速排序算法步骤动图演示JavaScript代码实现python代码实现Go代码实现C++代码实现Java代码实现堆排序算法步骤动图演示JavaScript代码实现Python代...
    99+
    2022-12-22
    Java快速排序 Java 堆排序 Java排序
  • java睡眠排序算法示例实现
    无聊逛论坛,发现了这张图 真是厉害啊,这排序, 既有多线程,又有排序,还有lambda表达式,但是这是C#版本,作为一个入坑的Java爱好者,当然要去试试Java版本了,废话不多说...
    99+
    2022-11-13
  • Java实现冒泡排序示例介绍
    何为冒泡排序 冒泡:就像气泡从水中冒出来一样 在冒泡排序中,最小数或最大数取决于您是按升序还是降序对数组进行排序,向上冒泡到数组的开头或结尾。 算法描述: 比较相邻的元素。如果第一个...
    99+
    2023-05-18
    Java冒泡排序 Java冒泡排序算法
  • Java算法之堆排序代码示例
    堆是一种特殊的完全二叉树,其特点是所有父节点都比子节点要小,或者所有父节点都比字节点要大。前一种称为最小堆,后一种称为最大堆。比如下面这两个: 那么这个特性有什么作用?既然题目是堆排序,那么肯定能用来排序。想要用堆排序首先要创建一...
    99+
    2023-05-30
    java 算法实例 ava
  • Java实现拓扑排序的示例代码
    目录铺垫简介工作过程数据结构拓扑排序测试样例1测试样例2总结铺垫 有向图:我们这节要讲的算法涉及到有向图,所以我先把有向图的一些概念说一下,文章后面就不做解释啦。首先有向图节点与节点...
    99+
    2022-11-13
  • Java实现归并排序的示例代码
    目录1.算法理解2.实现代码3.实现效果1.算法理解 参考:图解Java中归并排序算法的原理与实现 2.实现代码 import java.lang.reflect.Array; im...
    99+
    2022-11-13
  • Java案例使用比较排序器comparator实现成绩排序
    需求:用TreeSet集合存储多个学生信息(姓名,语文成绩,数学成绩),并遍历该集合;要按照总分从高到低进行排序 分析: 1.创建学生类 成员变量 姓名,语文成绩、数学成绩;成员方法...
    99+
    2022-11-13
  • Java中插入排序算法之希尔排序+直接插入排序的示例分析
    这篇文章给大家分享的是有关Java中插入排序算法之希尔排序+直接插入排序的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。希尔排序在介绍希尔排序之前,先了解一下直接插入排序一、直接插入排序1. 单趟排序x插...
    99+
    2023-06-25
  • Java实现HashMap排序方法的示例详解
    目录简介排序已有数据按key排序按value排序按插入顺序存放HashMap不按插入顺序存放LinkedHashMap会按照插入顺序存放简介 本文用示例介绍HashMap排序的方法。...
    99+
    2022-11-13
  • Java数组实现堆排序的示例分析
    这篇文章主要为大家展示了“Java数组实现堆排序的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java数组实现堆排序的示例分析”这篇文章吧。数组全部入堆,再出堆从后向前插入回数组中,数...
    99+
    2023-05-30
    java
  • java排查死锁示例
    目录死锁示例 死锁产生原因 死锁排查 方案 1:jstack 方案 2:jconsole 方案 3:jvisualvm 方案 4:jmc 总结 死锁(Dead Lock)指的是两个或...
    99+
    2022-11-12
  • MySQL排序中使用CASE WHEN的方法示例
    前言 在之前的一个项目中,使用到了SQL中使用 CASE WHEN 排序的功能。现在写篇博客备忘~ 数据库版本:MySQL 5.6.42 条件: 某字段代表该数据的状态取值为非负整数,0表示无状态。 需求:...
    99+
    2022-10-18
  • Angular排序的示例分析
    这篇文章主要为大家展示了“Angular排序的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Angular排序的示例分析”这篇文章吧。angular的排...
    99+
    2022-10-19
  • C++实现堆排序示例
    目录堆的实现 Heap.h 堆的管理及接口Heap.c 堆各个接口功能的实现 test.c测试堆的实现 Heap.h 堆的管理及接口 #include<stdio.h&g...
    99+
    2022-11-12
  • HashTable排序的示例分析
    小编给大家分享一下HashTable排序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近在做项目过程中,解析XML文档存放到了hashtable中,但...
    99+
    2023-06-03
  • Java实现直接插入排序与折半插入排序的示例详解
    目录1.直接插入排序2. 折半插入排序1.直接插入排序 插入排序的基本思想: 主要分为两个区间, 无序区间和有序区间, 每次选择无序区间的第一个元素, 在有序区间内选择合适的位置进行...
    99+
    2022-11-13
  • Java实现拓扑排序算法的示例代码
    目录拓扑排序原理1.点睛2.拓扑排序3.算法步骤4.图解拓扑排序算法实现1.拓扑图2.实现代码3.测试拓扑排序原理 1.点睛 一个无环的有向图被称为有向无环图。有向无环图是描述一个工...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作